注册时CSRF令牌丢失或不正确

时间:2013-07-14 15:04:45

标签: django django-forms

我正在尝试向我的网站添加注册功能,这是我到目前为止所做的...

  • 在home.html中添加了{%csrf_token%}
  • 使用render而不是rendor_to_response
  • 添加了中间件'django.middleware.csrf.CsrfViewMiddleware'

home.html的:

<div class="panel right">
    <p>
        <form action="/signup" method="post">
        {% csrf_token %}
            {% for field in user_form %}
            {{ field }}
            {% endfor %}
            <input type="submit" value="Create Account">
        </form>
    </p>
</div>

views.py

中的注册方法
def signup(request):
    user_form = UserCreateForm(data=request.POST)
    if request.method == 'POST':
        if user_form.is_valid():
            username = user_form.clean_username()
            password = user_form.clean_password2()
            user_form.save()
            user = authenticate(username=username, password=password)
            login(request, user)
            return render(request,'blog.html')
        else:
            return render(request,'index.html')
    return redirect('/')

我的代码出了什么问题?

0 个答案:

没有答案