91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django中全局使用request.user.username的方法

發布時間:2020-07-27 14:22:50 來源:億速云 閱讀:536 作者:小豬 欄目:開發技術

這篇文章主要講解了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. 登錄成功但是在登錄代碼中沒有注冊 cookie,導致無法驗證身份!

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. 換另一種方式重寫 login 。

看完上述內容,是不是對Django中全局使用request.user.username的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌阳县| 栾城县| 瑞丽市| 西丰县| 手游| 定远县| 儋州市| 晋宁县| 黎平县| 保山市| 大悟县| 嘉兴市| 集安市| 米泉市| 泸水县| 蒙阴县| 闸北区| 江华| 枣庄市| 普兰店市| 海口市| 金湖县| 金堂县| 新沂市| 府谷县| 昌乐县| 四子王旗| 大邑县| 新竹市| 杨浦区| 濮阳市| 威信县| 平定县| 铅山县| 马鞍山市| 临沧市| 株洲县| 漳州市| 濉溪县| 荆门市| 泉州市|