Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 2. 登录登出和用户信息管理
续前Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 1. 注册部分
项目工具:Python 2.7.11 Django 1.10.2 Bootstrap 3.3.0 IDE:eclipse Pydev
1. 由于Django自带auth, 故仅需编写登录登出的url和template即可
urls常见上篇
template代码如下仅供参考:
login
1 {% extends "account_base.html" %} 2 3 {% block title %}用户登录{% endblock %} 4 5 {% block content %} 6 <h1>登录</h1> 7 {% if form.errors %} 8 <p>用户名和密码不正确,请重试</p> 9 {% else %} 10 <p>请登陆. 如果您还没有帐号,请在此 <a href="{% url "register" %}">注册</a></p> 11 {% endif %} 12 13 <div class="login-form"> 14 <form action="{% url "login" %}" method="post"> 15 {{ form.as_p }} 16 {% csrf_token %} 17 <input type="hidden" name="next" value="{{ next }}" /> 18 <p><input type="submit" value="登陆"></p> 19 </form> 20 <p><a href="{% url "password_reset" %}">忘记密码?</a></p> 21 </div> 22 23 {% endblock %}
logout
1 {% extends "account_base.html" %} 2 3 {% block title %}注销{% endblock %} 4 5 {% block content %} 6 <h1>注销</h1> 7 <p>注销成功. 你可以再次 <a href="{% url "login" %}">登录</a>.</p> 8 {% endblock %}
修改密码:
1 {% extends "account_base.html" %} 2 3 {% block title %}修改密码{% endblock %} 4 5 {% block content %} 6 <h1>修改密码</h1> 7 <p>填写下表,修改密码</p> 8 <form action="." method="post"> 9 {{ form.as_p }} 10 <p><input type="submit" value="修改"></p> 11 {% csrf_token %} 12 </form> 13 {% endblock %}
注意,csrf_token需统一考虑,为项目测试方便,在最初设定中将csrf_token中间件注释掉。后期完善
其他 password_reset_form等部分需自行完善,不一一列举。