The redirect() function sends the user to a different URL or view. It tells the browser to load a new page instead of the current one.
Click to reveal answer
beginner
How do you use redirect() to send a user to a URL named 'home'?
You use redirect('home'). This tells Django to find the URL linked to the name 'home' and send the user there.
Click to reveal answer
intermediate
Can redirect() accept a model instance as an argument? What happens?
Yes. If you pass a model instance, Django will call its get_absolute_url() method and redirect to that URL.
Click to reveal answer
intermediate
What HTTP status code does redirect() send by default?
It sends a 302 status code, which means 'Found' and tells the browser to temporarily redirect to another URL.
Click to reveal answer
beginner
How can you redirect to an absolute URL using redirect()?
You can pass the full URL string to redirect(), like redirect('https://example.com'), and Django will send the user there.
Click to reveal answer
What argument types can the redirect() function accept in Django?
AURL name, absolute URL string, or model instance
BOnly absolute URL strings
COnly URL names
DOnly model instances
✗ Incorrect
The redirect() function can accept a URL name, an absolute URL string, or a model instance with a get_absolute_url() method.
What HTTP status code does Django's redirect() send by default?
A200
B301
C302
D404
✗ Incorrect
By default, redirect() sends a 302 status code, indicating a temporary redirect.
Which Django function would you use to send a user to a different page?
Aredirect()
Bget_object_or_404()
Crender()
Dreverse()
✗ Incorrect
redirect() is used to send users to a different URL or view.
If you pass a model instance to redirect(), what method does Django call to get the URL?
Aget_url()
Bget_absolute_url()
Cget_redirect_url()
Dget_path()
✗ Incorrect
Django calls the model's get_absolute_url() method to find the URL to redirect to.
How do you redirect to a named URL pattern called 'dashboard'?
Aredirect('/dashboard')
Bredirect(url='dashboard')
Credirect(reverse('dashboard'))
Dredirect('dashboard')
✗ Incorrect
You can pass the URL name directly to redirect() like redirect('dashboard').
Explain how the redirect() function works in Django and when you would use it.
Think about how websites send you to new pages after actions.
You got /4 concepts.
Describe how Django handles a model instance passed to redirect().
Models can tell Django their own URL.
You got /2 concepts.
Practice
(1/5)
1. What does the Django redirect function do in a view?
easy
A. It saves data to the database before showing a page.
B. It sends the user to a different URL or view automatically.
C. It stops the server from responding to the request.
D. It renders a template without changing the URL.
Solution
Step 1: Understand the purpose of redirect
The redirect function is used to send users to another page automatically, changing the URL in the browser.
Step 2: Compare with other options
Rendering a template does not change the URL, stopping the server or saving data are unrelated to redirect.
Final Answer:
It sends the user to a different URL or view automatically. -> Option B
Quick Check:
Redirect = automatic URL change [OK]
Hint: Redirect changes URL and sends user to another page [OK]
Common Mistakes:
Confusing redirect with render which does not change URL
Thinking redirect saves data automatically
Assuming redirect stops server response
2. Which of the following is the correct way to use redirect to send a user to a URL path '/home/'?
easy
A. redirect('/home/')
B. return redirect url('/home/')
C. return redirect('/home/')
D. return redirect('/home')()
Solution
Step 1: Check the syntax of redirect usage
The redirect function must be returned from the view with the URL path as a string argument.
Step 2: Identify correct syntax
Only return redirect('/home/') correctly calls redirect and returns the response.
Final Answer:
return redirect('/home/') -> Option C
Quick Check:
Use return with redirect and URL string [OK]
Hint: Always use return with redirect and pass URL as string [OK]
Common Mistakes:
Forgetting to return the redirect response
Calling redirect without return
Adding extra parentheses or wrong syntax
3. What will happen when this Django view runs?
from django.shortcuts import redirect
def my_view(request):
return redirect('home')
Assuming 'home' is a valid URL pattern name.
medium
A. The user will be redirected to the URL linked to the 'home' view name.
B. The view will raise an error because 'home' is not a URL path.
C. The view will render a template named 'home'.
D. Nothing happens; the redirect function does not work with names.
Solution
Step 1: Understand redirect with view name
Redirect can accept a URL pattern name and will find the URL linked to that name.
Step 2: Confirm behavior
Since 'home' is a valid URL name, redirect sends user to that URL automatically.
Final Answer:
The user will be redirected to the URL linked to the 'home' view name. -> Option A
Quick Check:
redirect('view_name') sends user to that URL [OK]
Hint: redirect accepts URL names, not just paths [OK]
Common Mistakes:
Thinking redirect only works with URL paths
Confusing redirect with render for templates
Assuming redirect needs full URL string
4. Identify the error in this Django view using redirect:
from django.shortcuts import redirect
def go_home(request):
redirect('/home/')
medium
A. Missing return statement before redirect call.
B. Redirect function does not accept string paths.
C. The URL path should not start with a slash.
D. The import statement is incorrect.
Solution
Step 1: Check the redirect usage in the view
The redirect function must be returned to send the HTTP response properly.
Step 2: Identify missing return
Here, redirect is called but not returned, so the view returns None and does not redirect.
Final Answer:
Missing return statement before redirect call. -> Option A
Quick Check:
Always return redirect response [OK]
Hint: Always return redirect, don't just call it [OK]
Common Mistakes:
Calling redirect without return
Thinking redirect needs special URL format
Incorrect import statements
5. You want to redirect a user to a detail page of a model instance post in Django. Which is the correct way to use redirect?
hard
A. return redirect('/post/' + post.id)
B. return redirect('post_detail', id=post.id)
C. return redirect(post)
D. return redirect('post_detail', pk=post.id)
Solution
Step 1: Understand redirect with model instance and URL parameters
Redirect can accept a view name with keyword arguments matching URL parameters.
Step 2: Analyze options
return redirect(post) passes the model instance directly, which works only if the model has a get_absolute_url method. return redirect('post_detail', id=post.id) uses incorrect keyword 'id'; typical patterns use 'pk', causing NoReverseMatch. return redirect('post_detail', pk=post.id) correctly passes the view name and keyword argument 'pk' matching typical URL patterns. return redirect('/post/' + post.id) tries to concatenate string and int without conversion, causing error.
Final Answer:
return redirect('post_detail', pk=post.id) -> Option D
Quick Check:
Use redirect with view name and keyword args [OK]
Hint: Use redirect with view name and keyword args for model pages [OK]
Common Mistakes:
Passing model instance without get_absolute_url method
Using incorrect keyword arg name like 'id' instead of 'pk'
Concatenating string and int without conversion
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.