【问题标题】:Must I use Django's template language in templates?我必须在模板中使用 Django 的模板语言吗?
【发布时间】:2014-12-31 06:30:52
【问题描述】:

我是否需要使用 Django 的模板语言,即:(HTML 标签和模板语言标签),或者我可以只使用 HTML,并在每个帖子表单模板中粘贴我的 {% csrf_token %}?

【问题讨论】:

标签: python django web django-forms django-templates


【解决方案1】:

人生苦短 - 你需要 django 表单!

而且,django's template tag 对您所说的内容来说是错误的。我敢打赌,你的意思是 django 形式。

你不需要使用 django 表单,但如果你不使用它们,你就错过了 django 最强大的部分。没有它,您将不得不手动验证所有表单数据,这对于更大的表单请求可能很乏味。

只需单击 William 的链接并继续阅读。 Django 是最好的框架,并且拥有最好的文档!

顺便说一句, 只有POST 方法的表单数据需要{% csrf_token %}

【讨论】:

    【解决方案2】:

    不,您不需要在模板中使用 Django 的模板标签。只要 CSRF_TOKEN 在您的表单中,您的视图就可以像处理任何 Django 表单一样处理它。

    然而,Django 的模型表单是你的朋友,它们会为你节省很多时间。它们还可以让你在 forms.py 中处理一些与表单相关的逻辑,这样既方便又不重复。

    https://docs.djangoproject.com/en/1.7/topics/forms/modelforms/

    【讨论】:

      【解决方案3】:

      {% csrf_token %} 用于安全目的。意思是跨站引用伪造。

      你必须在模板形式的帖子中写这个。

      如果你不想使用{% csrf_token %},你必须使用@csrf_exempt 装饰器上面的函数 名称如下:

       @csrf_exempt
       def test(request):
           print "yes"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-19
        • 1970-01-01
        • 1970-01-01
        • 2012-04-22
        • 2017-01-07
        • 2010-12-26
        • 1970-01-01
        • 2013-08-09
        相关资源
        最近更新 更多