一个简单的登陆,输入正确的用户名和密码后出现了如下错误:
解决方法:提示中说的比较清楚,在template每个post请求的表单中添加{% csrf_token %}就可以了。
例如如下模版html文件:
<html>
<head>
<title>Django Bookmarks - User Login</title>
</head>
<body>
<h1>User Login</h1>
{% if form.has_errors %}
<p>Your username and password didn't match.
{% endif %}
<form method="post" action=".">
{% csrf_token %}
<p><label for="id_username">Username:</label>
{{ form.username }}</p>
<p><label for="id_password">Password:</label>
{{ form.password }}</p>
<input type="hidden" name="next" value="/"/>
<input type="submit" value="login"/>
</form>
</body>
</html>
另外参见官方文档对CSRF的说明:https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/