하지 않고 뭔가가 여기 내 views.py의 내 주요 urls.py장고 슬러그 URL을 변경하지만 장고의 블로그를 구축 상세보기
from django.conf import settings
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'$', 'posts.views.home'),
url(r'^(?P<slug>[\w-]+)/$', 'posts.views.single'),
)
을 일치하는 잘못된 생각
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response, RequestContext, Http404, get_object_or_404
from .models import Post
def home(request):
posts = Post.objects.filter(private=False)
return render_to_response('all.html', locals(), context_instance=RequestContext(request))
def single(request, slug):
post = Post.objects.filter(slug=slug)
return render_to_response('single.html', locals(), context_instance=RequestContext(request))
함수 기반보기 홈은 완벽하게 작동하고 모든 비공개 게시물을 반환합니다. 그러나 단일보기는 올바른 슬러그 (예 : 127.0.0.1/this-correct-slug)를 만들기 위해 URL을 변경하지만 페이지 상단으로 이동하여 내용을 필터링하지 않습니다 (터미널에서 200 GET 요청 표시).). post = get_object_or_404(Post, slug=slug)
을 사용하면 동일한 결과가 나타납니다.
나는 post = Post.objects.filter(slug=slug)
부분을 잘 모르고 있지만, 그다지 진전이 없다는 것을 알고 있습니다. 기능이 호출되는지 확인하기 위해 print 문을 추가하려고합니다.
나는 또한 약간의 인수가 확실하지 않다 locals()
. 나는 데이터 사전을 사용하는 방법을 아직 확실히 모르기 때문에 솔직하게 말하면서 그것을 사용 해왔다.
템플릿 all.html 및 single.html이 올바른 것으로 가정합니다.
감사합니다.
정규식 수업을해야합니다. 완벽 해, 고마워! –