Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django中,如何在post请求后获取表单名称? {%csrf\u令牌%} {{message_frm.as_p}_Python_Django - Fatal编程技术网

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.