我正在用自己的代码编写页面,而不是使用 Django 模板。因为我有太多新东西要学习并试图完成它。
现在我有了一些简单的模板案例,{% csrf_token %} 工作得很好。但是他们使用了 render() 和一个模板。
我有一堆自定义 HTML,我不能立即弄清楚如何放入模板,所以我不能使用 render()。相反,我返回应用于我的页面的 HttpResponse(),这不处理 {% csrf_token %}。
我如何获得 <input>元素到我的页面的表单部分?我愿意从模板生成表单,而不是页面的其余部分。
请您参考如下方法:
您可以通过从 CSRF 中间件调用适当的函数来在 Django 模板之外获取 CSRF token :
from django.middleware.csrf import get_token
def your_view(request):
csrf_token = get_token(request)
csrf_token_html = '<input type="hidden" name="csrfmiddlewaretoken" value="{}" />'.format(csrf_token)
要记住的一件事是 Django 模板并不真正关心您传递给它们的内容。它们只涉及 {% ... %} 和 {{ ... }} 标签之间的内容。如果您的模板只是静态 HTML,Django 模板引擎根本不会接触它,就像您将它作为普通文件一样。
