在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}}形式?请帮忙
答案 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 }}