我刚刚开始使用django / web开发,我遇到了一个问题。在我的模板文件夹中,我有base.html,home.html和licences.html模板。在home.html中,我有一个链接<li><a href="{% url 'licences' %}">Licences</a></li>
,在我的views.py中,我有方法许可证(请求):
def licences(request):
return render(request, "licences.html", {})
但是,如果我然后运行服务器并单击链接,我会得到一个空白页面,只显示base.html元素。
如何解决此问题以显示新页面?
编辑:
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', 'searchFilm.views.home', name='home'),
url(r'^results/$', 'searchFilm.views.results', name='results'),
url(r'^licences/$', 'searchFilm.views.licences', name='licences')
]
licences.html
<html>
<head>
<!-- <title>{% block title %}HomePage{% endblock %}</title> -->
</head>
<body>
<p>This page contians informations on the licences</p>
</body>
</html>
答案 0 :(得分:0)
您是否填写了许可证表(您的许可证表中是否有数据)?获得空白表的主要原因是您在 def 语句和 return 语句之间缺少一行代码,您需要一个查询语句,如:
licences=nameOfYourLicencesTable.objects.get(pk=id)
然后你可以在你的模板上使用:
<li><a href="{{ licenses.licensesColumnName}}">Licences</a></li>
答案 1 :(得分:0)
需要查看base.html的结构,但我认为你不包括base.html
答案 2 :(得分:0)
我解决了问题所在,事实证明你不能使用HTML注释来评论Django标签,所以即使{%extends“base.html”%}在评论中,该页面仍在扩展基础。 HTML。如果我完全删除了extends标记,或者更改了licences.html以符合base.html,则它按预期工作。