我在我的网站上添加了一个关于页面,它应该是一个简单的任务,但它不起作用。 主要的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;]
我在网站上查看了解决方案,但无法找到我的解决方案。 谢谢,凯伦。
答案 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'))