我是 Web 开发、Django、python、html 等方面的新手。我有一个基本的 Django 应用程序,它显示已输入数据库的出版物标题列表。这工作正常。
我现在想使每个出版物标题都是一个链接 - 当单击时 - 呈现另一个模板,其中包含所单击的出版物的详细信息。到目前为止,我知道如何获取发布链接以呈现模板,但我试图弄清楚如何将发布标题传递给超链接,以便在详细信息模板中呈现的数据将特定于标题被选中。
这是我的出版物模板中的内容,它显示了所有出版物(这是不正确的,但希望它澄清了我想要做的事情):
<html>
<head><title>Publications</title></head>
<body>
<h1>Publications</h1>
<ul>
{% for publication in publication_list %}
<li><strong><a href="/publications/{{publication.title}}/detail">{{ publication.title}}</strong></li></a>
{% endfor %}
</ul>
</body>
</html>
为了上下文,处理此问题的 url 模式是:
url(r'^(?P<detail_type>\w+)/(?P<link_item>\w+)/detail$', get_details)
并且视图函数是: // 注意:我这里可能有一些逻辑/语法错误,但这是基本思想
def get_details(request, detail_type=None, link_item=None):
if detail_type == "publications":
publication = Publication.objects.filter(title__iexact=link_item)
return render(request, 'publication_detail.html', {'detail_type' : detail_type, 'publication' : publication})
elif ....
就像我说的,我是一个初学者,所以如果我以错误的方式处理这个问题,任何建议或资源都会受到赞赏。谢谢。