[英]Basic Django,How to write a URLConf for a blog's DetailView Post?
我是Django的新手,我在为mysql目录中的博客应用程序编写URLConf的正确代码时遇到了问题。博客出现在http://127.0.0.1:8000/blog/但我无法在博客中查看帖子使用超链接。 我得到的错误是“使用mysite.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:
我的mysite \\ blog \\ url.py文件如下所示:
from django.conf.urls import patterns, include, url
from django.views.generic import ListView,DetailView
from blog.models import Post
urlpatterns=patterns('',
url(r'^$',ListView.as_view(
queryset=Post.objects.all().order_by("-date")[:10],
template_name="blog.html")),
url(r'^(blog/?P<post_id>\d+)/$', DetailView.as_view(
model = Post,
template_name = "post.html")),
)
如何在我的博客应用程序中显示帖子的DetailView?我有blog,base和post.html的模板文件。 post.html看起来像:
{%extends "base.html"%}
{%block content%}
<h3><a href="/blog/{{post.id}}">{{post.title}}</a></h3>
<div class ="post_meta">
on {{post.date}}
</div>
<div class = "post_body">
{{post.body|safe}}
</div>
{% endblock %}
您的URLConf未正确调用模板中的URL。
url(r'^(blog/?P<post_id>\d+)/$',
...正在尝试使用/(blog
作为网址的一部分)获取网址,例如www.yoursite.com/blog/(blog/post_id/
。首先,当您包含yourapp.urls
时,您已经包含/ blog /在主要的URLConf。第二,你的(
在错误的地方。
尝试将其更改为:
url(r'^(?P<post_id>\d+)/$',....rest of your URLConf....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.