Как перенаправить URL для CreateView в views.py - PullRequest
1 голос
/ 14 апреля 2019
  1. class A_modelCreateView(CreateView) в views.py
  2. path('create/'),view.A_modelCreateView().as_view(),name='create' в urls.py
  3. построить HTML как форму для формы A_model, но не в ее каталоге по умолчанию (my_app / A_model.form)

Есть ли где-нибудь заполненный параметр для перенаправления URL, который вы хотите?

1 Ответ

1 голос
/ 14 апреля 2019

Да, CreateView имеет в качестве одного из своих базовых классов FormMixin. Этот класс FormMixin имеет атрибут success_url [Django-doc] .

Вы можете добавить реальный URL или работать с reverse_lazy [Django-doc] , чтобы рассчитать URL-адрес на основе имени представления. Например:

from django.urls import reverse_lazy
from django.views.generic.edit import CreateView

class A_modelCreateView(CreateView):
    <b>success_url = reverse_lazy('overview_page')</b>
    # ...

, где overview_page - это название гипотетического представления.

Если вы не задаете success_url в CreateView или UpdateView, это займет get_absolute_url объекта модели, который создан / обновлен, если модель имеет такой метод. Для получения дополнительной информации см. Документацию Django .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...