LearnThatStack Ace your next interview
Django · question
Question 4 of 56

What is the difference between Django's urls.py and views.py?

beginner
← All Django questions
Re-explain

urls.py decides which view handles a URL, and views.py holds the code that handles it. Keeping them apart lets you change a URL without touching the logic behind it.

urls.py is the router. Its urlpatterns list maps URL patterns to views, and Django calls the view of the first pattern that matches. A pattern can also have a name, so templates and code build links with {% url %} or reverse() instead of hard-coding paths.

views.py holds the view functions or classes. Each one takes an HTTP request, runs the business logic and returns an HTTP response. Here it queries the articles and renders a template with them.

# urls.py
urlpatterns = [
    path('articles/', views.article_list, name='article_list'),
]

# views.py
def article_list(request):
    articles = Article.objects.all()
    return render(request, 'articles/list.html', {'articles': articles})
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

The diagram below the answer is the concept . Jump to it ↓

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

Saved in this browser - sign in to keep your review list.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Interview lens

Likely follow-ups, what you can say, and the weak answers to avoid.

Sign in free to open it Free account - the lens opens as soon as you're back.

Want a quick review of the fundamentals? See the Django cheatsheet.

← Back to all Django questions
Pro · $10/mo

49 of 56 Django answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime