Djangoの大域使用request.user.usernameの実例
余計なことを言わないで、コードを見てください。
説明
追加の属性が追加されましたが、今はrequest.userによって取得したいです。プリントrequest.userはAnonymousUserオブジェクトで、user値を取得できません。
原因
1.アカウントを登録していないか、ログインできません。
2.ログインに成功しましたが、登録コードにクッキーが登録されていないため、認証できませんでした。
3.その他の理由。
解決方法
1.アカウントを登録して、adminアカウントを使って登録してみてもいいです。解決できるかどうか確認してください。
2.以下のコードを参考にして、loginにcookisを登録します。
以上のDjangoの大局はrequest.user.usernameの実例を使って詳しく説明します。つまり、小編集は皆さんに提供した内容の全部を共有しています。
def pro_mgr():
"""
:return:
"""
if DEVELOP_USER_NAME == 'admin':
return Project.objects.all()
return Project.objects.filter(prj_mgr=DEVELOP_USER_NAME)
class DeployApplyForm(ModelForm):
# project = forms.ModelChoiceField(queryset=pro_mgr())
bgn_time = forms.DateTimeField(initial=datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), label=u' ',
input_formats=['%Y-%m-%dT%H:%M:%S'], widget=forms.DateTimeInput(
attrs={'type': 'datetime-local', 'emptyTips': u' ', 'step': '1'}))
end_time = forms.DateTimeField(initial=datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), label=u' ',
input_formats=['%Y-%m-%dT%H:%M:%S'], widget=forms.DateTimeInput(
attrs={'type': 'datetime-local', 'emptyTips': u' ', 'step': '1'}))
class Meta:
model = DeployApply
fields = '__all__'
def __init__(self, *args, **kwargs):
prj_mgr = kwargs.pop('prj_mgr', '')
super(DeployApplyForm, self).__init__(*args, **kwargs)
if prj_mgr == 'admin':
self.fields['project'] = forms.ModelChoiceField(queryset=Project.objects.all())
else:
self.fields['project'] = forms.ModelChoiceField(queryset=Project.objects.filter(prj_mgr=prj_mgr))
//views.py
deployApplyForm = DeployApplyForm(initial=wfContent[0], prefix='deployApply',prj_mgr=request.user.username)
//settings.py
# DEVELOP
DEVELOP_USER_NAME = 'admin'
補足知識:Djangoでrequest.userがユーザー名を呼び出すとAnonymousUser(匿名のオブジェクト)のエラーが発生します。説明
追加の属性が追加されましたが、今はrequest.userによって取得したいです。プリントrequest.userはAnonymousUserオブジェクトで、user値を取得できません。
原因
1.アカウントを登録していないか、ログインできません。
2.ログインに成功しましたが、登録コードにクッキーが登録されていないため、認証できませんでした。
3.その他の理由。
解決方法
1.アカウントを登録して、adminアカウントを使って登録してみてもいいです。解決できるかどうか確認してください。
2.以下のコードを参考にして、loginにcookisを登録します。
auth_obj = auth.authenticate(request, username=username, password=password)
if auth_obj:
# auth cookie
auth.login(request, auth_obj)
....
3.別の方法でロゴを書き換える。以上のDjangoの大局はrequest.user.usernameの実例を使って詳しく説明します。つまり、小編集は皆さんに提供した内容の全部を共有しています。