提交表单后重定向到基于功能的详细信息视图

时间:2020-09-17 06:45:49

标签: python django django-models django-forms django-views

我创建了一个名为Student的模型。我创建了一个模型表格。提交模型表单后,我想转到详细信息视图而不是列表视图。 我该怎么办?

model.py

class Student(models.Model):
    student_name = models.CharField(max_length=100)
    father_name = models.CharField(max_length=100)

forms.py

class AdmissionForm(forms.ModelForm):
    class Meta:
        model = Student
        fields = '__all__'

views.py

def admission_form(request):
    form = AdmissionForm()
    if request.method == 'POST':
        form = AdmissionForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return redirect('student-list') # i want to redirect to detail view 
    context = {'form':form}
    return render(request, 'student/admission_form.html', context)

在此招生表格中,我想重定向到学生的详细信息视图,而不是列表视图。我怎样才能做到这一点。在这段代码中,我已重定向到列表视图。

def student_detail(request, id):
    stud = Student.objects.get(id=id)
    context = {'stud':stud}
    
    return render(request, 'student/student_detail.html', context)

urls.py

urlpatterns = [
    path('admission_form/', views.admission_form, name = 'admission-form'),
    path('student/', views.student_list, name = 'student-list'),
    path('student/<int:id>/', views.student_detail, name = 'student-detail'),
    

]

1 个答案:

答案 0 :(得分:1)

setNames(data.frame(t(df)[2:ncol(df),]), t(df$tests)) 将返回学生模型的实例。您可以像这样重定向使用form.save()

id