【问题标题】:csrf_token not created on pages loaded via postcsrf_token 未在通过帖子加载的页面上创建
【发布时间】:2014-05-11 12:48:21
【问题描述】:

我对 Django 中的 {% csrf_token %} 模板标签有疑问。在通过 get 加载的页面上很好,但是如果我使用 post 加载页面,则标签不会加载到 post 请求的页面上的表单中。

我正在使用render_to_response 来渲染页面

有什么想法吗?

谢谢

【问题讨论】:

    标签: python django django-views django-csrf csrf-protection


    【解决方案1】:

    从 POST 请求调用 render_to_response 时,您是否使用 csrf 令牌更新您的上下文?像这样:

    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...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2021-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多