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
将表单呈现为包裹在<tr>
标签中的表格单元格,
form.as_p
将呈现包裹在<p>
标签中的表单,
form.as_ul
将呈现包裹在<li>
标签中的表单。
现在,这取决于您希望表单在页面上的外观。
【讨论】:
以上是关于Django request.POST 从输入中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Django request.POST 获取 POST 数据
request.POST 在 Django 中的多个图像按钮上
只有 Django request.body 包含数据(不是 request.POST)