如何在Django模板中使用两个表单,以及如何在提交表单时调用不同的函数

如何在Django模板中使用两个表单,以及如何在提交表单时调用不同的函数,django,django-templates,Django,Django Templates,我在一个模板中使用两个表单。当我提交第二份表格时,我有点困惑,我在哪里错了,有人在这方面帮助我 index.html <form action="#" method="post"> {% csrf_token %} <input type="text" name="username" id="username"> <a href="{% url 'app:profile' %}"><button type="submit"> Submit</

我在一个模板中使用两个表单。当我提交第二份表格时,我有点困惑,我在哪里错了,有人在这方面帮助我

index.html

<form action="#" method="post">
{% csrf_token %}
<input type="text" name="username" id="username">
<a href="{% url 'app:profile' %}"><button type="submit"> Submit</button></a>
</form>

<form action="#" method="post">
{% csrf_token %}
<input type="text" name="review" id="review">
<a href="{% url 'app:feedback' %}"><button type="submit"> Submit</button></a>
</form>
url.py

app_name = 'app'
urlpatterns = [
   path('profile/', views.profile, name="profile"),
   path('feedback/', views.feedback, name="feedback"),
]

在提交中添加name属性

<form action="#" method="post">
<input type="text" name="username" id="username">
<a href="{% url 'app:profile' %}"><button type="submit" name="attr_name"> Submit</button></a>
</form>

我认为应该采取不同的行动,以确定哪个表单将向哪个视图发出post请求:

<form action="{% url 'app:profile' %}" method="post">
    {% csrf_token %}
    <input type="text" name="username" id="username">
    <button type="submit"> Submit</button>
</form>

<form action="{% url 'app:feedback' %}" method="post">
    {% csrf_token %}
    <input type="text" name="review" id="review">
    <button type="submit"> Submit</button>
</form>

{%csrf_令牌%}
提交
{%csrf_令牌%}
提交

第一个表单工作正常。我对第二个表单所做的是,当我单击“第二个表单提交”按钮时,它不会调用反馈函数。反馈函数不会被调用,因为您尚未在其中调用模板。而且,您不应该对这两个视图都使用index.html。如果要将两个表单合并到一个模板中,请合并视图。它会起作用的
def profile(request):
    if request.method == 'POST' and 'attr_name' in request.POST:
        # Some operation
<form action="{% url 'app:profile' %}" method="post">
    {% csrf_token %}
    <input type="text" name="username" id="username">
    <button type="submit"> Submit</button>
</form>

<form action="{% url 'app:feedback' %}" method="post">
    {% csrf_token %}
    <input type="text" name="review" id="review">
    <button type="submit"> Submit</button>
</form>