Django之全局使用request.user.username的实例详解


Posted in Python onMay 14, 2020

我就废话不多说了,大家还是直接看代码吧!

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的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用7z解压apk包的方法
Apr 18 Python
python中sys.argv参数用法实例分析
May 20 Python
python xml解析实例详解
Nov 14 Python
python实战之实现excel读取、统计、写入的示例讲解
May 02 Python
Python装饰器模式定义与用法分析
Aug 06 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Python3+Appium安装使用教程
Jul 05 Python
解决python tkinter界面卡死的问题
Jul 17 Python
django2笔记之路由path语法的实现
Jul 17 Python
django列表筛选功能的实现代码
Mar 27 Python
Python爬虫爬取有道实现翻译功能
Nov 27 Python
python安装mysql的依赖包mysql-python操作
Jan 01 Python
Django使用Profile扩展User模块方式
May 14 #Python
python网络编程之五子棋游戏
May 14 #Python
Jupyter notebook如何修改平台字体
May 13 #Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 #Python
Django 允许局域网中的机器访问你的主机操作
May 13 #Python
Django 用户登陆访问限制实例 @login_required
May 13 #Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 #Python
You might like
PHP 编写大型网站问题集
2010/05/07 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
JQuery球队选择实例
2015/05/18 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
vue 实现微信浮标效果
2019/09/01 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python冒泡排序简单实现方法
2015/07/09 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
Python中is与==判断的区别
2017/03/28 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
Django中Model的使用方法教程
2018/03/07 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
专科应届毕业生求职信
2014/06/04 职场文书
授权委托书
2014/07/31 职场文书
2014年小学数学工作总结
2014/12/12 职场文书
领导工作表现评语
2015/01/04 职场文书
满月酒邀请函
2015/01/30 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书