簡體   English   中英

Django - 403 Forbidden - CSRF令牌丟失或不正確

[英]Django - 403 Forbidden - CSRF token missing or incorrect

我更新到Django 1.6,並在按下“注銷”按鈕時遇到CSRF令牌問題。

我的代碼:
--views.py

@login_required(login_url='/login/')
def show_matches(request):
    errors = []
    logged = True
    if request.method == "POST":
        if 'edit' in request.POST:
            return HttpResponseRedirect("/edit_matches/")
        elif 'view' in request.POST:
            return HttpResponseRedirect("/view_matches/")
        elif 'logout' in request.POST:
            return HttpResponseRedirect("/logout/")
        else:
            errors.append('Incorrect operation!')
    return render_to_response('admin/match_main.html', RequestContext(request, locals()))  

- match_show.html

{% extends "admin/base_admin.html" %}
{% block title %}Administration referee page {% endblock %}
{% block content %}
        <form action='.' method='post'>{% csrf_token %}
            <input class="btn btn-medium btn-primary" type="submit" value="Edit Matches" name="edit" />
            <input class="btn btn-medium btn-primary" type="submit" value="View Matches" name="view" />
        </form>
{% endblock %}

如何解決這個問題?

添加隱藏的輸入

<input type='hidden' name='csrfmiddlewaretoken' value='{{csrf_token}}'>

您顯示的模板不包括注銷按鈕。 如果要通過發布請求注銷,則必須在包含注銷按鈕的表單中包括一個csrf令牌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM