我正在使用django 1.11,我想制作一种语言,只能为已登录的管理员访问 - 我的意思是法语版。
对于普通用户:
http://www.example.com/en
对于管理员用户:
http://www.example.com/en
http://www.example.com/fr
settings.py
LANGUAGES = (
('en', _('English')),
('fr', _('French')),
)
我在设置文件中知道:from django.contrib.auth.models import User
,例如:
if User.is_staff:
LANGUAGES = (
('en', _('English')),
('fr', _('French')),
)
else:
LANGUAGES = (
('en', _('English')),
)
但是我收到了一个错误:
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
导入期间:from django.contrib.auth.models import User
答案 0 :(得分:0)
这可能意味着您无法在设置完成导入/加载之前调用from django.contrib.auth.models import User
。
<击>
您可以尝试将if User.is_staff:
移动到设置文件的末尾,但我不确定这是否也可以。
击>
User.is_staff:
不起作用,因为User
是模型(类),而不是用户实例。您不能在设置中使用这种if,因为仅在您的请求/响应周期内定义了单个用户。
你必须寻找另一种方法,但我现在没有任何想法。