Django添加了一个关于页面

时间:2017-05-11 10:59:35

标签: django

我在我的网站上添加了一个关于页面,它应该是一个简单的任务,但它不起作用。 主要的urls.py:

urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^blog/', include('blog.urls', namespace='blog', app_name='blog')),
  url(r'^$', include('home.urls', namespace='home', app_name='home')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我有一个家庭应用程序,这是home / urls.py:

urlpatterns = [
  url(r'^$', views.index, name='index'),
  url(r'^about/', views.about, name='about'),
]

这是home / views.py:

def about(request):
  return render_to_response('pages/about.html')

我在home / templates / pages文件夹中有about.html。 索引页面显示正常,但是当我将链接添加到索引页面时:

<li>
     <a href="{% url 'home:about' %}">About</a>
</li>

我收到错误:

  

反向&#39;关于&#39;参数&#39;()&#39;和关键字参数&#39; {}&#39;未找到。尝试了1种模式:[&#39; $ about /&#39;]

我在网站上查看了解决方案,但无法找到我的解决方案。 谢谢,凯伦。

2 个答案:

答案 0 :(得分:1)

放弃&#34; $&#34;:

url(r'^', include('home.urls', namespace='home', app_name='home')),

&#34; $&#34;意思是“行尾”&#39;因此,您的RegEx将检查您的URL中的空本地部分,这对于/ about

是错误的

答案 1 :(得分:1)

url(r'^$', include('home.urls', namespace='home', app_name='home'))

我认为上面这一行是问题,&#39; ^ $&#39;意味着完全是空字符串,所以在它之后包含一些东西是没有意义的。在你的home.urls中你会说&#39; ^ about /这意味着一个字符串以约......开头 我会把它改成

url(r'^', include('home.urls', namespace='home', app_name='home'))