Python django应用程序在模板呈现期间出错

Python django应用程序在模板呈现期间出错,python,Python,这是我的项目目录结构 blog migration templates **blog** __init__.py admin.py models.py tests.py urls.py views.py **mysite** __init__.py

这是我的项目目录结构

blog
    migration
    templates 
        **blog** 
            __init__.py
            admin.py 
            models.py 
            tests.py 
            urls.py 
            views.py 

        **mysite**
            __init__.py
            settings.py 
            urls.py 
            wsgi.py 
其中,blog是应用程序目录,mysite是te项目目录

这是我的博客/url.py

from django.conf.urls import url
from . import views

urlpatterns=[
    url(r'^$',views.post_list, name='post_list'),
    url(r'^post/(?P<pk>[0-9]+)/$',views.post_detail, name='post_detail'),
]
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
        <link rel="stylesheet" href="{%static "css/blog.css"%}">
</head
<body>
<h1>Testings django project</h1>

{% for posts in post%}
    <h4><a href="{% url "post_detail" pk=post.pk %}">Title:{{posts.title}}</a></h4>
    <p>content:{{posts.text}}</p>
{% endfor %}
</body>
</html>
下面是错误的详细信息

*Reverse for 'post_detail' with arguments '()' and keyword arguments '{u'pk': ''}' not found. 0 pattern(s) tried: []
Request Method: GET
Request URL:  http://127.0.0.1:8000/
Django Version: 1.8.3
Exception Type: NoReverseMatch
Exception Value:  
Reverse for 'post_detail' with arguments '()' and keyword arguments '{u'pk': ''}' not found. 0 pattern(s) tried: []
Exception Location: C:\Python27\lib\site-packages\django\core\urlresolvers.py in _reverse_with_prefix, line 496
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.9
Python Path:  
['D:\\djangogirls',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages']
Server time:  Mon, 20 Jul 2015 22:26:29 +0545*
看起来您尚未将URL调度程序配置为在
blogs/URL.py
文件中包含URL。请注意,主
urls.py
文件是proyect目录中的文件。如果要在应用程序目录中添加另一个应用程序,则必须显式执行

您可以查看有关如何执行此操作的文档。基本上,您必须在
mysite/url.py
中添加类似的内容:

urlpatterns = [
    url(r'^blog/', include('blog.urls')),
]

现在,您可以使用前缀
blog/
访问这些URL。例如,
blog/post/which

您应该为对象命名,以表示它们的实际名称。出于某种原因,您在上下文中使用名称
post
来引用post集;当您在模板中迭代该集合时,您将调用每个
posts
。毫不奇怪,这会使您感到困惑,以至于当您在URL标记中引用帖子的PK时,您错误地引用了
post.PK
,而不是
posts.PK

正确命名对象,不会发生这种情况:

def post_list(request):
    posts = Post.objects.all()
    return render(request,'blog/post_list.html',{'posts':posts})

def post_detail(request,pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request,'blog/post_detail.html',{'post':post})

{%用于post%中的post}
内容:{post.text}

{%endfor%}
您的错误说明了post\u详细信息的反向,这意味着您正试图使用反向功能访问post\u详细信息视图的url。当您试图访问服务器尚未加载url的名称的反向时,通常会发生此错误。因此出现了此错误。解决方案可能是什么这是我如何在主项目中导入应用程序日志的url设置从django.conf.urls导入include,从django.contrib导入url管理url模式=[url(r'^admin/',include(admin.site.urls)),url(r'',include('blog.urls'),]
urlpatterns = [
    url(r'^blog/', include('blog.urls')),
]
def post_list(request):
    posts = Post.objects.all()
    return render(request,'blog/post_list.html',{'posts':posts})

def post_detail(request,pk):
    post = get_object_or_404(Post, pk=pk)
    return render(request,'blog/post_detail.html',{'post':post})
{% for post in post%}
    <h4><a href="{% url "post_detail" pk=post.pk %}">Title:{{ post.title }}</a></h4>
    <p>content:{{ post.text }}</p>
{% endfor %}