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中dir函数用法分析
Apr 17 Python
python实现字符串和日期相互转换的方法
May 13 Python
简单介绍Python中的几种数据类型
Jan 02 Python
详解设计模式中的工厂方法模式在Python程序中的运用
Mar 02 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
Python2随机数列生成器简单实例
Sep 04 Python
python difflib模块示例讲解
Sep 13 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
python新式类和经典类的区别实例分析
Mar 23 Python
python exit出错原因整理
Aug 31 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新手上路(十二)
2006/10/09 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
JBL英国官网:JBL UK
2018/07/04 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
青安岗事迹材料
2014/05/14 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
保管员岗位职责
2015/02/14 职场文书
旷工检讨书大全
2015/08/15 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python