如果设置了某个环境变量,我如何要求Django站点上的管理员登录?

如果设置了某个环境变量,我如何要求Django站点上的管理员登录?,django,django-authentication,staging,Django,Django Authentication,Staging,我有两个AWS Elastic Beanstalk环境,使用相同的Django web服务器提供内容。其中一个是临时站点(即用于开发/测试目的),另一个是生产网站。在临时站点上,通常需要付费的功能可以免费使用,以简化测试和开发。我想避免让用户偶然发现这个临时站点,并免费访问通常需要付费的功能 为了防止出现这种情况,我希望所有视图都需要工作人员登录,但仅限于登台站点。我有一个在settings.py中检查的环境变量,它确定服务器是在暂存环境还是在生产环境中运行。通过检查环境变量,是否有一些优雅/干

我有两个AWS Elastic Beanstalk环境,使用相同的Django web服务器提供内容。其中一个是临时站点(即用于开发/测试目的),另一个是生产网站。在临时站点上,通常需要付费的功能可以免费使用,以简化测试和开发。我想避免让用户偶然发现这个临时站点,并免费访问通常需要付费的功能

为了防止出现这种情况,我希望所有视图都需要工作人员登录,但仅限于登台站点。我有一个在
settings.py
中检查的环境变量,它确定服务器是在暂存环境还是在生产环境中运行。通过检查环境变量,是否有一些优雅/干净的方法来实现这一点?

如果环境变量说您正在登台,我会在中间件设置变量中添加一个检查此条件的方法。

轻松,兄弟! 只需在
url.py
文件中使用条件即可

from django.conf import settings
urlpatterns = [ YOU REGULAR URLS HERE ]

if settings.SPECIFIC_VALUE:
    urlpatterns = [
        ADDITIONAL URLS WHICH WILL BE AVAILABLE IF SPECIFIC VALUE IS ON
    ] + urlpatterns