Как установить множественные URL-адреса успеха, используя kwargs или что-то еще?Django множественные URL-адреса успеха
Я хочу, в зависимости от того, какая кнопка нажала другой URL-адрес успеха.
Сохранить = Перейти к DetailView
сохранить & продолжить = Пребывание в этом UpgradeView
сохранить & CreateNew = Перейти к CreateView
Он должен работать позже точно так же, как в администраторе Django
У меня есть этот UpdateView:
class TopicEditView(UpdateView):
fields = ['title','description',]
model = Topic
def post(self, request, *args, **kwargs):
data = request.POST.copy()
if data.get('save', False):
pass
elif data.get('save_and_continue', False):
pass
...
return UpdateView.post(self, request, *args, **kwargs)
def get_success_url(self):
return reverse('topic_detail', kwargs={'pk':self.object.pk})
И этот простой шаблон:
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Speichern" name="save"/>
<input type="submit" value="Speichern & weiter"
name="save_and_continue"/>
</form>
Спасибо, это было намного легче, когда я понял, что у меня все еще есть свои kwargs в self.request.POST.get. Сначала я подумал, что должен снова установить их, вот почему у меня был аргумент if в методе post. – Sativa