Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialPerfect Tinotenda Mashingaidze
5,070 PointsIt's probably better if we use namespaces. I've put all of the articles URLs into the "articles" namespace. Change your
It's probably better if we use namespaces. I've put all of the articles URLs into the "articles" namespace. Change your {% url %} tag to use "articles:detail" for the URL name.
i need help guys im not understanding the question
{% extends 'base.html' %}
{% load static from staticfiles %}
{% block static %}
<link rel="stylesheet" href="{% static 'css/styles.css' %}">
{% endblock %}
{% block content %}
{% for article in articles %}
<a href="{%url 'articles_detail' pk=article.pk %}">{{ article.headline }}</a>
{% endfor %}
{% endblock %}
1 Answer
Jeff Muday
Treehouse Moderator 28,722 PointsNamespace is an important concept in Django. By introducing the namespace parameter, an entire app will have a "namespace" association. The namespace argument is introduced at the project level urls.py file. Once introduced, the namespace argument will allow the django app (and the other apps in the project) to resolve the path to find templates and methods of the app. This enhances portability/modularity of the app (you will be able to use your app in other projects) and can have multiple routes/instances of your app running on the same project.
Check out this documentation:
https://docs.djangoproject.com/en/2.1/topics/http/urls/#url-namespaces
I am paraphrasing what I think is the important code from the documentation
# filename: urls.py
# NOTICE THAT WE CAN USE SAME APP ON DIFFERENT ROUTES (author-polls and publisher-polls)
from django.urls import include, path
urlpatterns = [
path('author-polls/', include('polls.urls', namespace='author-polls')),
path('publisher-polls/', include('polls.urls', namespace='publisher-polls')),
]
Note that with the namespace, 'author-polls:index' will always resolve to the index page of the instance 'author-polls' (and likewise for 'publisher-polls') .
I hope this helps. Django is one of the most powerful frameworks for building secure/scalable/robust applications!