Перенаправление CreateView с параметром, созданным из того же представления
У меня есть CreateView, который создает для меня объект, и после его создания я хотел бы, чтобы он отображал меня внутри этого объекта через его 'nome_scheda', которое является текстовым полем.
views.py
class SchedaCreateView(CreateView):
model = Schede
fields = ['nome_scheda','data_inizio','data_fine']
template_name = 'crea/passo1.html'
def form_valid(self, form):
form.instance.utente = self.request.user
return super().form_valid(form)
urls.py
path('crea/<nome>/', creazione, name="creazione_passo1"),
Вы можете переопределить метод .get_success_url(…)
, чтобы вернуть URL для перенаправления браузером:
class SchedaCreateView(CreateView):
model = Schede
fields = ['nome_scheda','data_inizio','data_fine']
template_name = 'crea/passo1.html'
def form_valid(self, form):
form.instance.utente = self.request.user
return super().form_valid(form)
def get_success_url(self):
return reverse('creazione_passo1', kwargs={ 'nome': self.object.nome })