Challenge - 5 Problems
Named URLs Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate2:00remaining
What is the output of reversing a named URL?
Given the following Django URL pattern and usage, what will be the output of
print(url)?Django
from django.urls import path, reverse urlpatterns = [ path('profile/<int:user_id>/', lambda request: None, name='user-profile'), ] url = reverse('user-profile', kwargs={'user_id': 42}) print(url)
Attempts:
2 left
💡 Hint
Remember that reverse uses the name and kwargs to build the URL string.
✗ Incorrect
The reverse function uses the named URL pattern and fills in the parameters from kwargs. Here, user_id=42 replaces the placeholder, producing /profile/42/.
📝 Syntax
intermediate2:00remaining
Which option correctly defines a named URL with a slug parameter?
Which of the following Django URL patterns correctly defines a named URL that accepts a slug parameter named
post_slug?Attempts:
2 left
💡 Hint
Check the syntax for path converters in Django URLs.
✗ Incorrect
The correct syntax for a slug parameter is <slug:parameter_name>. Option A uses this correctly.
🔧 Debug
advanced2:00remaining
Why does this reverse call raise NoReverseMatch?
Given the URL pattern and reverse call below, why does the reverse call raise a
NoReverseMatch error?Django
urlpatterns = [
path('article/<int:id>/', views.article_detail, name='article-detail'),
]
url = reverse('article-detail', kwargs={'pk': 5})Attempts:
2 left
💡 Hint
Check the parameter names in the URL pattern and reverse call.
✗ Incorrect
The URL pattern expects a parameter named id, but the reverse call provides pk. This mismatch causes NoReverseMatch.
❓ state_output
advanced2:00remaining
What is the rendered output of this template using named URLs?
Given the URL pattern and template snippet below, what will be the rendered HTML output?
Django
{% raw %}
# urls.py
urlpatterns = [
path('dashboard/', views.dashboard, name='dashboard'),
]
# template.html
<a href="{% url 'dashboard' %}">Go to Dashboard</a>
{% endraw %}Attempts:
2 left
💡 Hint
Remember Django adds trailing slashes by default in URLs.
✗ Incorrect
The named URL 'dashboard' corresponds to the path '/dashboard/'. The template tag {% url 'dashboard' %} renders this full path including the trailing slash.
🧠 Conceptual
expert2:00remaining
Why are named URLs important for maintainability in Django projects?
Which of the following best explains why using named URLs improves maintainability in Django projects?
Attempts:
2 left
💡 Hint
Think about how URLs are referenced in templates and views.
✗ Incorrect
Named URLs let you change the actual URL path in one place (the URLconf) without changing all the code that links to it. This reduces errors and makes updates easier.