Перенаправление после сохранения элемента через ModelForm - PullRequest
0 голосов
/ 25 февраля 2019

Я использую модель, чтобы добавить некоторые элементы к одной из моих моделей.

в моем представлении:

def create_cf(request, fslug):
 detail = Fd.objects.get(slug=fslug)

 if request.method == 'POST':
    cf = CFForm(request.POST)
    if cf.is_valid():
        instancecf = cf.save()
        return redirect('cf:create_cf', fslug=fslug)
 else:
    cf = CFForm()
 return render(request, 'cf/create_cf.html', {'cf': cf})

шаблон:

<form  action="/create_cf/" method="post">
 {% csrf_token %}
 {{cf}}
 <input type="submit" value="Submit">
</form>

хотя и, к сожалению, я получаю страницу не найдена Errorat /create_cf.html ... Что я делаю не так ?? *

большое спасибо заранее

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Если вы хотите просмотреть детали запрашиваемого объекта, вам также необходимо передать его в контекст.

Попробуйте:

def create_cf(request, fslug):
 detail = Fd.objects.get(slug=fslug)

 if request.method == 'POST':
    cf = CFForm(request.POST)
    if cf.is_valid():
        instancecf = cf.save()
        return redirect('cf:create_cf')
 else:
    cf = CFForm()
 return render(request, 'cf/create_cf.html', {'cf': cf, 'detail': detail})
0 голосов
/ 27 февраля 2019

вот решение (спасибо Сэму)

в моем представлении:

def create_cf(request, fslug):
 detail = Fd.objects.get(slug=fslug)

 if request.method == 'POST':
    cf = CFForm(request.POST)
    if cf.is_valid():
        instancecf = cf.save()
        return redirect('cf:create_cf', fslug=fslug)
 else:
    cf = CFForm()
 return render(request, 'cf/create_cf.html', {'cf': cf})

шаблон:

<form  action="/create_cf/" method="post">
 {% csrf_token %}
 {{cf}}
 <input type="submit" value="Submit">
</form>
0 голосов
/ 26 февраля 2019

Вы пытаетесь перенаправить на ту же страницу у вас, это правильно?

from django.http import HttpResponseRedirect


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