您的位置:首页 > 编程语言 > Go语言

django 认证系统--3

2016-09-07 15:58 253 查看
WEB request中的认证

django使用sessions和middleware和reqeust对象联系在一起

它们通过给每一个reqeust请求添加一个request.user属性来代表当前用户。如果用户没有登录,那么request.user将是AnonymousUser的对象,如果登录了,那么就是User的对象

{% extends "base.html" %}

{% block content %}

{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}

{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed,
please login with an account that has access.</p>
{% else %}
<p>Please login to see this page.</p>
{% endif %}
{% endif %}

<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>

<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>

{# Assumes you setup the password_reset view in your URLconf #}
<p><a href="{% url 'password_reset' %}">Lost password?</a></p>

{% endblock %}


View Code
logout
(request, next_page=None, template_name='registration/logged_out.html', redirect_field_name='next',current_app=None, extra_context=None)

logout_then_login
(request, login_url=None, current_app=None, extra_context=None)

password_change
(request, template_name='registration/password_change_form.html',post_change_redirect=None, password_change_form=PasswordChangeForm, current_app=None,extra_context=None)


password_change_done
(request, template_name='registration/password_change_done.html',current_app=None, extra_context=None)

password_reset
(request, is_admin_site=False, template_name='registration/password_reset_form.html',email_template_name='registration/password_reset_email.html',subject_template_name='registration/password_reset_subject.txt', password_reset_form=PasswordResetForm,token_generator=default_token_generator, post_reset_redirect=None, from_email=None, current_app=None,extra_context=None, html_email_template_name=None, extra_email_context=None)

password_reset_done
(request, template_name='registration/password_reset_done.html', current_app=None,extra_context=None)

password_reset_confirm
(request, uidb64=None, token=None,template_name='registration/password_reset_confirm.html', token_generator=default_token_generator,set_password_form=SetPasswordForm, post_reset_redirect=None, current_app=None, extra_context=None)

password_reset_complete
(request, template_name='registration/password_reset_complete.html',current_app=None, extra_context=None)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: