python - 如何在 django html 中制作详细视图?
问题描述
如何根据其 id 显示数据?
现在,如果我点击一个项目,我会得到这样的网址 http://localhost:8000/novel/11
现在,这是我写的views.py
def novel_page(request, id):
return render(request, 'novel.html')
并且 urls.py 是
path('novel/<int:id>', views.novel_page, name='novel'),
我想显示带有 id 的项目的详细信息,就像我传递给 url 的内容一样。
例如,如果我点击 id 为 11 的数据,那么系统将显示所有基于 id 11 的数据。
数据来自数据库,但来自具有如下预览的 XML 文件:
<Collection>
<DOC>
<DOCNO>1</DOCNO>
<Title>Neon Prey (A Prey Novel) Hardcover </Title>
<Author>John Sandford</Author>
<Text>
This is novel 1
</Text>
</DOC>
<DOC>
<DOCNO>2</DOCNO>
<Title>The Mother-in-Law</Title>
<Author>Sally Hepworth</Author>
<Text>
This is novel 2
</Text>
</DOC>
<DOC>
<DOCNO>3</DOCNO>
<Title>Saman</Title>
<Author>Ayu Utami</Author>
<Text>
This is novel 3
</Text>
</DOC>
</Collection>
这是将数据传递给索引的views.py
def display(request):
if request.method == 'POST':
text = request.POST['input_text']
result = main.main(text)
content = {'result': result}
return render(request, 'index.html', content)
return render(request, 'index.html')
我用这段代码显示数据
{% for i in result %}
<h4><a href="/novel/{{i.docno}}">{{i.title}}</a></h4>
{% endfor %}
谢谢。
解决方案
<a href="{% url 'novel' id=i.docno %}">{{i.title}}</a>
您应该始终使用 url 来构建链接,除非在非常特殊的情况下您必须自己呈现路径。在这种情况下,您应该编写一个自定义模板标签来执行此操作。
推荐阅读
- python - Python:列表理解中的返回语句
- angularjs - angularjs 表单数据未正确发布。?
- spring-boot - 春季启动启动错误
- java - 如何查找输入扫描仪的字符串是否在数组中?
- javascript - 即使使用 .then 和 location.reload,我的客户端也不会在 ajax put 后重新加载
- macos - 为 macOS High Sierra 安装 gnu plot
- magento2 - 如何在magento 2中设置时事通讯确认链接的到期
- reactjs - 索环拆分子问题(“警告:道具类型失败:提供给`Split`的`object`类型的无效道具`children`,需要一个数组。”)
- java - 如何在 Firebase 实时数据库中将记录从一个位置复制到另一个位置?
- php - 获取另一个下拉更改的下拉数据