2016-11-24 31 views
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

當我看到你有兩個型號ClassStudent。在這種情況下,創建自定義視圖更好的方法:

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

我確實需要使用CBV,是否有任何其他方式與CBV做到這一點? – Goun2

+0

感謝您的回答 – Goun2

+0

根據官方文檔「顯示用於創建對象的表單的視圖,重新顯示帶有驗證錯誤(如果有)的表單並保存該對象」。所以不行 –

相關問題