【发布时间】:2019-10-30 00:40:12
【问题描述】:
我正在用 Django 构建一个网站,但我有点遇到以下问题。
在我的 home.html 我有一个看起来像这样的列表:
{% extends "main/header.html" %}
{% block content %}
<body>
<div class="itemlist">
<ul>
<li><a href="item1">Item 1</a></li>
<li><a href="item2">Item 2</a></li>
<li><a href="item3">Item 3</a></li>
<li><a href="item4">Item 4</a></li>
</ul>
</div>
</body>
{% endblock %}
这个列表是动态更新的,所以会有更多不同的items。
这就是我想要做的:对于每个项目,当我打开项目的链接时,应该打开一个新页面,其中包含有关项目的数据,如下所示: site.com/item1,或 site.com/item2
问题:我无法为每个项目创建视图和模板,因为列表会增长。为每个视图创建一个视图、一个模板和一个 url 并不是一个可行的解决方案。
一种可能的方法:创建一个生成标准页面的视图并将链接附加到该页面,如下所示:
site.com/items/item-here,例如 site.com/items/item15
问题是我对 Django 还很陌生,所以我不知道如何实际应用这种方法。
有人可以告诉我我应该从这里去哪里吗?每一个建议都值得赞赏。我希望我的问题是可以理解的。
【问题讨论】:
-
但这正是 Django 通常的工作方式。你完成教程了吗?这显示了如何通过投票问题的示例来做到这一点,每个问题都有一个单独的页面。
-
嘿@DanielRoseman!你指的是什么教程?是的,我知道,这是一项基本任务。我完全知道如何在 Django 中生成模板,我认为这里的困难在于,在这种情况下,我需要随机生成模板。我以前做的是:向我的网站添加一个部分,创建视图并添加 url。对我来说,处理一个很长的列表以及列表中的每个元素是另一项不同的任务
-
尝试创建一个函数视图,如
def render_items(request, item_id):- google 带有输入参数的Django函数视图。 -
正在调查,谢谢!
-
您好,您可以使用wagtail.io。这是一个 Django CMS!它很棒,非常整洁且易于使用。
标签: python django django-templates django-views django-urls