django 用户认证
2013-09-23 12:41
316 查看
1、自定义用户登录login.html
2、认证用户
3、需要将request传入login.html,以便在头部显示登录用户名称
settings.py添加如下段落:
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
"django.core.context_processors.request",
)
template中的其它页面需要用到username需要在render页面时传入request:
context_instance参数将request传入login.html
render_to_response('login.html', context_instance=RequestContext(request))
在login.html中获取username
4、如果想在template中使用用户权限
如:User.objects.get(username='wangsan').get_group_permissions()
需要自定义tag
permission部分详细说明见下一篇文章
参考:django中的admin模块模板render用的是TemplateResponse方法
2、认证用户
#点击login.html中submit按键触发登录动作 def login_action(request): username = request.POST['username'] password = request.POST['password'] pre_url = request.POST['pre_url'] user = authenticate(username=username, password=password) if user is not None: if user.is_active: login(request,user) # Redirect to a success page. if pre_url: return redirect(pre_url) else: return redirect('/') else: # Return a 'disabled account' error message return redirect('/disabled_account/') else: # Return an 'invalid login' error message. return redirect('/invalid_login/')
3、需要将request传入login.html,以便在头部显示登录用户名称
settings.py添加如下段落:
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
"django.core.context_processors.request",
)
template中的其它页面需要用到username需要在render页面时传入request:
context_instance参数将request传入login.html
render_to_response('login.html', context_instance=RequestContext(request))
在login.html中获取username
{% if request.user.is_authenticated %} <li align="left"></br><a href="logoutview" data-toggle="tooltip" title="Loginoff"><i class='icon-share'></i>{{ request.user.username }}Logout</a></li> {% else %} <li align="left"></br><a href="/login/" data-toggle="tooltip" title="Login"><i class='icon-share'></i>Login</a></li> {% endif %}
4、如果想在template中使用用户权限
如:User.objects.get(username='wangsan').get_group_permissions()
需要自定义tag
permission部分详细说明见下一篇文章
参考:django中的admin模块模板render用的是TemplateResponse方法
相关文章推荐
- Django自定义用户表替换默认用户表认证
- django官方文档——django中的用户认证
- Django1.9开发博客(9)- 用户认证
- Django 中的用户认证
- Django--分页器(paginator)、Django的用户认证、Django的FORM表单
- django使用邮箱账号密码做用户登录认证,启用加密
- Django的用户认证
- django “如何”系列1:如何使用REMOTE_USER(远程用户)进行认证
- 利用Django内置的认证视图实现用户密码重置功能详解
- [Django实战] 第4篇 - 用户认证(用户登录与注销)
- Django之用户认证功能
- django 用户认证模块
- django怎么在没有密码不能认证的情况下完成用户登录
- Django 中的用户认证
- django用户认证
- django的用户认证
- Django用户认证系统 authentication system
- [Django实战] 第5篇 - 用户认证(修改密码)
- Django实战之用户认证(初始配置)
- D django 用户认证系统