Как правильно связать домашнюю страницу с несколькими представлениями в приложении django

В качестве заголовков, я ищу правильный способ "привязать" представления к домашней странице, так что всякий раз, когда я нажимаю одну из кнопок на домашней странице, она перенаправляет меня на представление, связанное с формой.

Сейчас мое приложение django состоит из нескольких представлений, каждое из которых является формой, имеющей свой собственный .html, но мне трудно понять или найти способ сделать домашнюю страницу, на которой будут ссылки на определенные представления, и каждый раз, когда я нажимаю кнопку submit в соответствующей форме, она будет перенаправлять меня на домашнюю страницу.

Я думал, что правильный способ сделать это - создать новое представление, которое будет играть роль моей "домашней страницы", но я не знаю, возможно ли иметь несколько представлений, связанных с одним и тем же представлением

Примечание: Я понимаю, что написание примера для этого займет много времени, я просто задаю этот вопрос, чтобы получить лучшее представление и начать искать в правильном направлении

Я не уверен, что полностью понимаю ваш вопрос. Однако, надеюсь, приведенная ниже информация поможет вам получить лучшее представление и начать поиск в правильном направлении.

redirect()

Функция redirect() в Django может быть использована для перенаправления на другой вид/URL из функции представления.

Документация: https://docs.djangoproject.com/en/4.0/topics/http/shortcuts/#redirect.

{% url %}

Функция шаблона url может быть использована для ссылки на другие представления/веб-страницы из шаблона Django. Это предотвращает необходимость жесткого кодирования URL в веб-страницах.

Документация: https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#url.

Если я не ошибаюсь, вы хотите перенаправлять на домашнюю страницу после отправки формы. Вы можете проверить эту ссылку как добавить действие в форму хотя это учебник w3school по HTML форме.

Итак, здесь я добавляю код из документации django.

<form action="/your-name/" method="post">
<label for="your_name">Your name: </label>
<input id="your_name" type="text" name="your_name" value="{{ current_name }}">
<input type="submit" value="OK">

Итак, вы можете добавить действие на главную страницу. просто добавьте имя URL страницы в тег action ---. предположим, что URL домашней страницы выглядит следующим образом ---

path('index/', views.index, name='home'),

Затем добавьте дом к месту действия ---

<form action="{% url 'home' %}" method="post">
<label for="your_name">Your name: </label>
<input id="your_name" type="text" name="your_name" value="{{ current_name }}">
<input type="submit" value="OK">

Это точно сработает.

Для получения более подробной информациивы можете обратиться к приведенным ниже ссылкам ---

вы найдете это и в официальной документации django. пройдите по этой ссылке

А вот и вся документация по формам django пройдите по этой ссылке

Если я ошибаюсь или не понял ваш вопрос, пожалуйста, поправьте меня.

Спасибо за ваш вопрос.

Вернуться на верх