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

Posted

技术标签:

【中文标题】Django request.POST 从输入中获取数据【英文标题】:Django request.POST get data from input 【发布时间】:2018-07-22 14:52:40 【问题描述】:

html

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

如何在我的视图中从我的文本区域获取消息数据?或者正确的方法是把 form.as_p 放在表单中?请帮忙

【问题讨论】:

你的意思是这样的吗? ***.com/questions/2236691/… 【参考方案1】:

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

但是,你想要它在模板上然后你可以使用

 form.data.message 

【讨论】:

【参考方案2】:

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

因此,根据您的表单,您可以通过简单的编写从 textarea 获取消息数据

message_data = request.POST['message']

view.py.

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

form.as_table 将表单呈现为包裹在&lt;tr&gt; 标签中的表格单元格,

form.as_p 将呈现包裹在&lt;p&gt; 标签中的表单,

form.as_ul 将呈现包裹在&lt;li&gt; 标签中的表单。

现在,这取决于您希望表单在页面上的外观。

【讨论】:

以上是关于Django request.POST 从输入中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Django request.POST 获取 POST 数据

从django模板提交通过POST传递其他数据

request.POST 在 Django 中的多个图像按钮上

只有 Django request.body 包含数据(不是 request.POST)

数据访问:Django 表单与 request.POST 方法 [关闭]

Django save request.POST to JSONField 从列表中选择最后一项而不是保存列表