Как отправить отдельные действия из одного тега формы? (Django)
Я написал следующий код, в котором действие submit со значением {{category.name}} неожиданно вызывает кнопку "создать" в form_category, что приводит к появлению сообщения "Please enter a name".
Этот подход отлично работал в предыдущем проекте, использующем ту же логику. Я подтвердил, что urls.py настроен правильно. В чем может быть проблема?
<form method="POST">
{% csrf_token %}
category name: {{ form_category }}
<input type="submit" value="create" formaction="{% url 'mk_category' %}">
<span> | </span>
{% for category in categories %}
<input type="submit" value="{{category.name}}" formaction="{% url 'index_with_category' category.id %}">
{% endfor %}
</form>
Большое спасибо за помощь!
Обертывание каждой кнопки отправки в отдельные теги формы решает проблему. Однако в будущем я планирую продолжать использовать несколько кнопок отправки в одной форме. Я проверил urls.py несколько раз и не обнаружил никаких проблем.
Пожалуйста, помогите мне с этим.
Ответ - вы должны определить отдельные имена для ваших сабмитов.
<form method="POST">
{% csrf_token %}
<span>category name: {{ form_category }}</span>
<input type="submit" name="submit_create" value="create" formaction="{% url 'mk_category' %}" />
<span> | </span>
{% for category in categories %}
<input type="submit" name="submit_update_{{category.id}}" value="{{category.name}}" formaction="{% url 'index_with_category' category.id %}" />
{% endfor %}
</form>