Closed ssfdust closed 7 years ago
@ssfdust django的forms模块设计结合模板来用很高效的,而我们现在已经摒弃后端模板渲染这种方式,变成前后端分离了,forms模板的部分功能比如validate之类应该也可以用吧,你多看看文档,比如:
application/x-www-form-urlencoded
是什么原理,
>>> data = {'subject': 'hello',
... 'message': 'Hi there',
... 'sender': 'foo@example.com',
... 'cc_myself': True}
>>> f = ContactForm(data)
如果用django rest framework 写的api,前端post表单的时候crsftoken怎么解决呢?
@hchen1202 @ssfdust Django 提供了一段js来生成csrftoken,你可以生成然后加到表单中,比禁用掉更完美,我找找:
// using jQuery
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = getCookie('csrftoken');
问题已经解决。谢谢。
因为页面内容全部是通过vue来写的,但是在vue中是没法写{{form}}的。所以没法使用django的forms模块。那该怎么办呢。