Redirect to function based detail view after submitting form

Ravi Raushan

I created a model named Student. I created a model form. I want to go to detail view not the list view, after submitting model form. How do i do that ?

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)

In this admission form, i want to redirect to detail view of the student not the list view. How can i do that. In this code, i have redirected to list view.

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'),
    

]
ruddra

form.save() will return an instance of Student model. You can use it's id in redirect like this:

def admission_form(request):
    form = AdmissionForm()
    if request.method == 'POST':
        form = AdmissionForm(request.POST, request.FILES)
        if form.is_valid():
            instance = form.save()
            return redirect('student-detail', id=instance.pk)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How do I redirect users after successfully submitting form data?

How to prevent redirect after submitting data through a form

How to redirect confirmation page after submitting form in Laravel?

Redirect user to specific url after submitting the edit account address form

How to redirect to another HTML page after submitting a form?

Django: Redirect to Detail View after Creation

React Router redirect after submitting a form using the input value

View function is not being called after submitting form in django

How to redirect user after submitting form with React

How to redirect website after submitting google form?

Trying to redirect in PHP after submitting an email form

Redirect to contacts page after submitting form in laravel 4

How to redirect on submitting a form?

How to redirect after submitting form in php

Redirect to other view after submitting form

redirect List<Data> to a view after user has submitting a form

How to make redirect to new detail data after submit form on PHP

How to redirect to List View Page in PHP CodeIgniter using parameters after submitting a form?

redirect to another page after submitting a form

How to convert class based detail view in function based view?

Want to redirect to the URL after successfully submitting the form JS

PHPMAILER, how to redirect to the thank you page after submitting the form?

Django Form after redirect is empty after successfully submitting a form

"redirect" function of django is not and after submitting the form, user remains on same page

Is there a way of submitting this form after using the preventDefault function?

django redirect update to detail view after ajax update

How to redirect after submitting form

redirect to detail view after registration in django templates

How to redirect after deleting a detail view object?