Если вы полагаетесь на проверку на основе формы и хотите, чтобы любые ошибки возвращались пользователю и отображались на домашней странице, вероятно, лучше всего подойдет один из следующих подходов.
Как упоминалось в комментариях, вы можете установите атрибуты name
и value
для кнопки отправки в каждой форме на вашей странице, затем проверьте это значение при обработке POST:
шаблон:
<button type="submit" name="action" value="add">Submit</button>
views.py:
def homepage(request):
if request.method == 'POST':
action = request.POST.get('action', None)
if action == 'add':
# do something
Если это не соответствует вашим потребностям, вы можете добавить параметры к URL-адресу действия формы и обработать его аналогичным образом:
шаблон:
<form action="{% url 'homepage' %}?action=add" method="post">
views.py:
def homepage(request):
if request.method == 'POST':
action = request.GET.get('action', None)
if action == 'add':
# do something
Однако, если вам не нужно отображать ошибки для пользователя на главной странице, go с отдельными конечными точками для каждой формы.