【发布时间】:2018-04-21 05:51:50
【问题描述】:
当我将 url 添加到另一个应用程序时出现错误。 我加了
<a class="navbar-brand" href="{% url 'posts:listofposts' %}">Home</a>
我的 root.url:
urlpatterns = [
url(r'^', include('posts.urls', namespace= 'posts'))
]
posts.urls:
urlpatterns = [
url(r'^create/',
create_post ,
name='create_post'),
url(r'^(?P<slug>[-\w]+)/edit/$',
update_post,
name = 'update_post'),
url(r'^category/(?P<slug>[-\w]+)/$',
category,
name='category'),
url(r'^(?P<slug>[-\w]+)/$',
detail,
name = 'detail'),
url(r'^$',
listofposts ,
name='listofposts'),
]
和我在 post.views 中的观点:
def listofposts(request, category_slug = None):
html = 'base.html'
Category_all = Category.objects.all()
query_set_list = Post.objects.all()
query = request.GET.get("q")
if query:
query_set_list = query_set_list.filter(title__icontains=query)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
products = Post.filter(category=category)
context = {
"title" : 'Записки',
"list" : query_set_list,
'category_all' : Category_all,
}
return render(request, html, context)
def detail(request, slug):
Category_all = Category.objects.all()
html = 'post_detail.html'
query_set = Post.objects.all()
instance = get_object_or_404(Post, slug = slug)
context = {
"title" : instance.title,
"instance" : instance,
"list": query_set,
'category_all' : Category_all,
}
return render(request, html, context)
我又犯了下一个错误
Exception Value:
Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name.
<a href="{{ x.get_absolute_url }}"><p>{{ x.title }}</p></a>
在我将 url 链接添加到另一个应用程序之前,一切正常。如果我删除指向另一个视图的 url 链接,一切都会好起来的。非常感谢您的帮助。
【问题讨论】:
-
您没有显示导致错误的
get_absolute_url方法。 -
def get_absolute_url(self): return reverse('detail', args=[str(self.slug)] )
标签: django