Django request.POST从输入中获取数据

时间:2018-02-12 12:23:09

标签: python django post

在HTML中

<form method='post'>
{% csrf_token %}
{{form.name}}
{{form.email}}
<textarea name='message'>{{form.message}}</textarea>
<button type='submit'>Send</button>
</form>

如何在我的视图中从textarea获取消息数据?或者正确的方式是{{form.as_p}}形式?请帮忙

2 个答案:

答案 0 :(得分:0)

request.POST基本上是一个返回的字典。它包含csrfmiddlewaretoken以及request.POST dict中指定为key的所有表单数据。

因此,根据您的表单,您只需编写

即可从textarea获取消息数据
message_data = request.POST['message']
view.py中的

如果您想以自己的风格显示表单,请手动执行。否则,django提供了几种渲染表单的技术,它们如下:

{{ form.as_table }}会将表单呈现为包含在<tr>标记中的表格单元格,

{{ form.as_p }}会将表单包装在<p>标记中,

{{ form.as_ul }}会将表单包装在<li>标记中。

现在,这取决于您,您希望表单在页面上的显示方式。

答案 1 :(得分:0)

如果您希望在视图上看到这个,那么上面的答案是完全正常的。另一种安全方法是request.POST.get('message')如果可用,它将返回None而不是错误消息。

但是,你想在模板上使用

{{ form.data.message }}