I have an issue with the {% csrf_token %} template tag in Django. On pages loaded via get it is fine but if I use post to load a page the tag is not loaded to forms on the page requested with post.

I am using render_to_response to render the pages

Any ideas?

Thanks

有帮助吗?

解决方案

Are you updating your context with the csrf token when calling render_to_response from a POST request? Like so:

from django.core.context_processors import csrf
from django.shortcuts import render_to_response

def my_view(request):
    if request.method == 'POST':
        c = {}
        c.update(csrf(request))
        return render_to_response("a_template.html", c)
    else:
        # GET code...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top