0

Как передать объект из ClassDetail в CreateNewStudent, чтобы использовать его в своем шаблоне?Как поместить несколько объектов в один шаблон

Спасибо.

class ClassDetail(DetailView): 
     context_object_name = "Class" 
     template_name = "temp/students.html" 
     model = Class 

class CreateNewStudent(CreateView): 
    model = Student 
    form_class = forms.StudentForm 
    template_name = "temp/newstudent.html" 

ответ

1

Как я вижу, у вас есть две модели Class и Student. В этом случае лучший способ создания пользовательского вида:

def myCustomView(request, pk): 
    get_class = get_object_or_404(Class, pk=pk) 
    student_form = StudentForm 
    if request.POST: 
     student_form = StudentForm(request.POST) 
     if student_form.is_valid(): 
     ... 
     return ... 
     else: 
     return render(request, 'index.html', {'get_class':get_class, 'student_form':sudent_form}) 
    else: 
     return render(request, 'index.html', {'get_class':get_class, 'student_form':sudent_form}) 
+0

Мне нужно использовать CBVs, есть ли другой способ сделать это с помощью CBV? – Goun2

+0

спасибо за ответ – Goun2

+0

Согласно официальной документации «Вид, который отображает форму для создания объекта, перерисовывает форму с ошибками проверки (если они есть) и сохраняет объект». Итак, нет –

Смежные вопросы