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 trial

Python Django Basics Final Details Article detail view

please help with task 3 of 3 ...

here is my code ... please tell me whats wrong :

from django.shortcuts import render from djangp.shortcuts import get_object_or_404 from .models import Article, Writer

def article_list(request): articles = Article.objects.all() return render(request, 'articles/article_list.html', {'articles': articles})

def writer_detail(request, pk): writer = Writer.objects.get(pk=pk) return render(request, 'articles/writer_detail.html', {'writer': writer})

def article_detail(request, pk): article = Article.objects.get(pk=pk) return render(request, 'articles/article_detail.html', {'article': article}) def article_detail(request,pk): article = get_object_or_404(Article,pk=pk)

articles/views.py
from django.shortcuts import render
from djangp.shortcuts import get_object_or_404
from .models import Article, Writer


def article_list(request):
    articles = Article.objects.all()
    return render(request, 'articles/article_list.html', {'articles': articles})


def writer_detail(request, pk):
    writer = Writer.objects.get(pk=pk)
    return render(request, 'articles/writer_detail.html', {'writer': writer})

def article_detail(request, pk):
    article = Article.objects.get(pk=pk)
    return render(request, 'articles/article_detail.html', {'article': article})
def article_detail(request,pk):
    article = get_object_or_404(Article,pk=pk)
articles/urls.py
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'writer/(?P<pk>\d+)/$', views.writer_detail),
    url(r'article/(?P<pk>\d+)/$', views.article_detail),
    url(r'', views.article_list),
]

2 Answers

Tatiana Vasilevskaya
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Tatiana Vasilevskaya
Python Web Development Techdegree Graduate 28,600 Points

You are on the right track, but could you please clear your code? This doesn't seem right

def article_detail(request, pk):
    article = Article.objects.get(pk=pk)
    return render(request, 'articles/article_detail.html', {'article': article})
def article_detail(request,pk):
    article = get_object_or_404(Article,pk=pk)
Jovan Dandridge
Jovan Dandridge
12,835 Points

ok so i see that you mis-spelled django.shortcuts, and you can import both from django.shortcuts like this:

from django.shortcuts import get_object_or_404, render

also you dont need to make another view, just replace article = article.objects.get(pk=pk) with get_object_or_404(Article, pk=pk)