一个页面中存在两个表单,如何在django后端中区分提交的是哪个表单?
时间: 2024-03-25 09:38:12 浏览: 146
在 Django 后端中,可以通过表单的 name 属性或者 id 属性来区分不同的表单。当页面中存在多个表单时,我们可以在 HTML 中给表单添加不同的 name 或者 id 属性,然后在后端中通过 request 对象获取表单数据时,通过这些属性来区分不同的表单。
例如,可以在 HTML 中添加如下代码来定义两个表单:
```html
<form name="form1" method="POST" action="{% url 'submit_form1' %}">
{% csrf_token %}
<!-- 表单1的内容 -->
<input type="text" name="input1">
<input type="submit" value="提交">
</form>
<form name="form2" method="POST" action="{% url 'submit_form2' %}">
{% csrf_token %}
<!-- 表单2的内容 -->
<input type="text" name="input2">
<input type="submit" value="提交">
</form>
```
在后端中,可以使用 Django 框架来获取表单数据,通过 request.POST.get() 方法来获取表单中的数据。例如,可以使用如下代码来获取表单1中的数据:
```python
from django.shortcuts import render
from django.http import HttpResponse
def submit_form1(request):
input1 = request.POST.get('input1')
# 处理表单1中的数据
return HttpResponse('表单1提交成功!')
def submit_form2(request):
input2 = request.POST.get('input2')
# 处理表单2中的数据
return HttpResponse('表单2提交成功!')
```
在 Django 中,我们需要在 urls.py 文件中定义路由,将不同的表单提交路由到不同的处理函数。例如,可以使用如下代码来定义路由:
```python
from django.urls import path
from . import views
urlpatterns = [
path('submit_form1/', views.submit_form1, name='submit_form1'),
path('submit_form2/', views.submit_form2, name='submit_form2'),
]
```
通过这种方式,我们就可以在 Django 后端中区分不同的表单,实现不同的处理逻辑。
阅读全文