How can I disable Django's admin in a deployed project, but keep it for local development?

后端 未结 3 1049
悲&欢浪女
悲&欢浪女 2021-01-30 00:57

I am currently working in a Django project for which I need access to the admin area for local development, but want to disable it in the deployed site (for security reasons, am

3条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-30 01:34

    First, establish a scheme so that your production server can have different settings than your development servers. A simple way to do that is with a source-control-ignored local_settings.py file, but there are many fancier ways to do it.

    Then, in your settings.py file, put:

    ADMIN_ENABLED = True
    

    and in your production-only settings file, put:

    ADMIN_ENABLED = False
    

    Then in your urls.py:

    if settings.ADMIN_ENABLED:
        urlpatterns += patterns('',
            (r'^admin/(.*)', include(admin.site.urls)),
            # ..maybe other stuff you want to be dev-only, etc...
            )
    

提交回复
热议问题