Django NoReverseMatch错误 [英] Django NoReverseMatch Error
本文介绍了Django NoReverseMatch错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用Django开发博客脚本.但是,当我想显示帖子链接时,出现NoReverseMatch错误.
I'm trying to develop a blog script with Django. But when I want to show post links, I get NoReverseMatch error.
我的views.py
My views.py
# -*- coding: utf-8 -*-
# Create your views here.
from .models import Yazi, Yorum, Kategori
from django.http import HttpResponse, Http404
from django.shortcuts import render_to_response
from django.template import RequestContext, loader
from django.contrib.sites.models import Site
def Home(request):
try:
posts = Yazi.objects.filter(yayinlanmis=True).order_by('-yayinlanma_tarihi')
except Yazi.DoesNotExist:
raise Http404
site = Site.objects.get_current()
c = RequestContext(request,{
'posts':posts,
'site':site
})
return render_to_response('Penguencik_Yazilar/yazi_list.html', c)
def Detail(request, slug):
post = Yazi.objects.get(slug=slug)
site = Site.objects.get_current()
c= RequestContext(request,{
'posts':post,
'site':site
})
return render_to_response('Penguencik_Yazilar/yazi_detail.html',c)
应用程序文件夹中的Urls.py.
Urls.py in application folder.
from django.conf.urls import patterns, url
import views
urlpatterns = patterns('',
url(r'^$', views.Home,name='index'),
url(r'^/makale/(?P<slug>[0-9A-Za-z._%+-]+)$', views.Detail,name='detail'),
)
项目文件夹中的Urls.py
Urls.py in project folder
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', include('Penguencik_Yazilar.urls',namespace='blog')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
)
和模板代码.我在做什么错了?
And template code. What am I doing wrong?
{% load url from future %}
...
<a href="{% url 'blog:detail' yazi.slug %}">Read</a>
推荐答案
尝试更改此内容:
<a href="{% url 'blog:detail' yazi.slug %}">Read</a>
收件人:
<a href="{% url 'blog:detail' slug=yazi.slug %}">Read</a>
在这里使您的视图期望 slug
关键字(?P< slug> [0-9A-Za-z ._%+-] +)
.
Cause your view expect slug
keyword here (?P<slug>[0-9A-Za-z._%+-]+)
.
这篇关于Django NoReverseMatch错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文