最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django之全局使用request.user.username的實例詳解

 更新時間:2020年05月14日 09:16:51   作者:Quincy379  
這篇文章主要介紹了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 調用用戶名時出現(xiàn) AnonymousUser(匿名對象)的錯誤

說明

已經添加了額外的屬性,現(xiàn)在想通過request.user的方式獲取,打印request.user是一個AnonymousUser對象,無法獲取 user 值!

原因

1. 沒有登錄賬號或者無法登錄成功。

2. 登錄成功但是在登錄代碼中沒有注冊 cookie,導致無法驗證身份!

3. 其它原因。

解決方法

1. 登錄賬號,你也可以試著使用 admin 賬戶登錄后,看看能否解決。

2. 參考以下代碼,在 login 中注冊cookis(大多數(shù)是這種情況):

auth_obj = auth.authenticate(request, username=username, password=password)
if auth_obj:
  # 需要auth驗證cookie
  auth.login(request, auth_obj)
  ....

3. 換另一種方式重寫 login 。

以上這篇Django之全局使用request.user.username的實例詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

望江县| 万源市| 神木县| 黎川县| 印江| 宁安市| 迭部县| 日土县| 三都| 稷山县| 汪清县| 霍山县| 竹山县| 农安县| 肃南| 百色市| 德化县| 宁波市| 海门市| 海晏县| 安仁县| 东乌珠穆沁旗| 靖宇县| 历史| 潮安县| 桐庐县| 青铜峡市| 乐都县| 肇庆市| 通辽市| 阿坝县| 柘荣县| 岑巩县| 泰安市| 仁寿县| 唐海县| 即墨市| 教育| 金寨县| 怀集县| 昌吉市|