关于python:Django request.POST从输入获取数据

Django request.POST get data from input

在HTML

1
2
3
4
5
6
7
<form method='post'>
{% csrf_token %}
{{form.name}}
{{form.email}}
<textarea name='message'>{{form.message}}</textarea>
<button type='submit'>Send</button>
</form>

如何在我的视图中从文本区域获取消息数据?还是以正确的方式将{{form.as_p}}放入表单中?请帮助


如果您希望在屏幕上看到上述答案,那是完全可以的。另一个安全方法是request.POST.get('message'),如果可用,它将返回None而不是错误消息。

但是,您需要在模板上使用它,然后可以使用

1
{{ form.data.message }}

request.POST基本上是返回的字典。它包含csrfmiddlewaretoken和在request.POST字典中指定为键的名称的所有表单数据。

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

即可从textarea获取消息数据

1
message_data = request.POST['message']

中的

如果要以样式显示表单,请手动进行。否则,django提供了几种渲染表单的技术,它们如下:

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

{{ form.as_p }}将呈现包裹在<pa>标签中的表格,

{{ form.as_ul }}将呈现包裹在
<MMKG1>
标签中的表单。

现在,这取决于您您希望表单在页面上如何显示。