Python 在django中,如何在post请求后获取表单名称? {%csrf\u令牌%} {{message_frm.as_p}
您可以在Python 在django中,如何在post请求后获取表单名称? {%csrf\u令牌%} {{message_frm.as_p},python,django,Python,Django,您可以在submit按钮的name属性中设置name,如下所示: <form method="post" name="message_frm">{% csrf_token %} <input type="hidden" name="post_id" value="{{post.id}}"> {{message_frm.as_p}} <input type="submit" value="Reply"/ <input
submit
按钮的name属性中设置name
,如下所示:
<form method="post" name="message_frm">{% csrf_token %}
<input type="hidden" name="post_id" value="{{post.id}}">
{{message_frm.as_p}}
<input type="submit" value="Reply"/
<input type="submit" value="Reply" name ="message_frm">
我假设你想在视图中检查这个。我总是这样做,以确定使用了哪种形式
if 'message_frm' in request.POST:
#do somethings
{%csrf\u令牌%}
{{message_frm.as_p}
哦,我比我更喜欢哈桑。如果对你有用的话,我会同意的。只是一个简单的问题?表单本身的名称是不可访问的吗?例如,发送的数据是否只包含“”标记中的内容,而不包含表单标记本身中的内容?否。将表单添加到模板时,它只会转储一些基本的html。请求对象读取以确定是否使用了来自的django没有什么特别之处。您需要使用这些小技巧之一来确定发布了什么。我正在寻找从请求对象获取表单名称的方法。类似于request.POST.form.name的内容只是一个简单的问题?表单本身的名称是否无法访问?例如,发送的数据是否只包含“”标记中的内容,而不包含表单标记本身中的内容?正确。这就是HTML表单的工作方式。具体请参见17.13.2成功控制
和17.13.3处理表单数据
。我想,如果框架自动添加一个隐藏字段,或者使用Hasan的技巧在成功的控件中包含表单名称/id,那么这将非常方便。OTOH,如果他们这样干扰你的页面结构,那也会很烦人。:)
<form method="post" name="message_frm">{% csrf_token %}
<-- Add this input to all forms -->
<input type="hidden" name="name" value="message_frm">
<input type="hidden" name="post_id" value="{{post.id}}">
{{message_frm.as_p}}
<input type="submit" value="Reply"/
def viewFunc(request):
if request.method == 'POST':
name = request.POST.get('name')
if name == 'message_frm':
# Do something here.
elif name == 'other_frm':
# Do something else here.