Django模板不显示

时间:2014-08-29 10:45:17

标签: python django

我有一个拒绝显示的关于页面的模板。我可能会做些傻事但我无法理解为什么这会让我疯狂!

views.py:

的一部分
# About view
def about(request):
    return render(request, 'blog/about.html')

urls.py:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from blog.views import post as blog_post
from blog.views import profile as blog_profile
admin.autodiscover()
urlpatterns = patterns('',

url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'blog.views.index'),
url(r'^about/$', 'blog.views.about'),
url(r'^profiles/$', 'blog.views.profile_index'),
url(r'^profiles/(?P<profile_url>[\w\-]+)/$', blog_profile, name = 'blog_profile'),
url(r'^(?P<category>[\w\-]+)/$', 'blog.views.categoryIndex'),
url(r'^(?P<category>[\w\-]+)/(?P<slug>[\w\-]+)/$', blog_post, name = 'blog_post')
)

about模板(不包括base.html):

{% extends 'base.html' %}
{% block title %} About {% endblock %}
{% block content %}
<h1>About</h1>
{% endblock %}

使用Django 1.6.5

尝试导航到mysite.com/about /

模板层次结构:

templates
    base.html
    blog
        about.html
        ....

2 个答案:

答案 0 :(得分:0)

如果您的模板目录位于项目的根级别,您可能需要将以下内容添加到settings.py

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates'),
)

答案 1 :(得分:0)

我已经发现了问题,以下网址与about页面相匹配:

url(r'^(?P<category>[\w\-]+)/$', 'blog.views.categoryIndex'),

删除它可以解决问题并显示about页面。此页面介绍了网址排序http://www.webforefront.com/django/regexpdjangourls.html

因为我的关于url的列表是在冲突之前列出的,所以它被跳过了。