第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列

作者 : IT 大叔 本文共1605个字,预计阅读时间需要5分钟 发布时间: 2020-09-19

Django Web 初级起飞教程系列:

第1章:Django Web应用程序设置-Django 3…2…1…起飞!系列

第2章:Django基础-Django 3 ... 2 ... 1 ... 起飞系列

第3章:主页-Django 3 ... 2 ... 1 ... Takeoff!系列

第4章:列表页面-Django 3 ... 2 ... 1 ... Takeoff系列

第5章:新列表页-Django 3 ... 2 ... 1 ...起飞!系列

第6章:导航栏 - Django 3 ... 2 ... 1 ...起飞!系列

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列

第8章:我的列表页面-Django 3 ... 2 ... 1 ... 起飞系列

第9章:编辑列表页面-Django 3 ... 2 ... 1 ... 起飞系列

在本章中,我们将研究清单的详细视图。如果用户希望查看更多图片以及有关任何特定列表的更多信息,则可以单击该页面以查看此页面。

详细清单URL

打开urls.py并添加以下代码。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图

路径('all_listings //',views.detail,name ='detail')

对于详细列表页面的路径,我们采用与all_listings相同的路径,但包含detail_id,这是将保存列表编号的变量。例如,all_listings / 1 /对应于列表编号1(detail_id = 1),依此类推。

详细清单视图

打开views.py并添加以下代码。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图(2)

def detail(request,detail_id):

注意,我们正在向detail函数添加参数detail_id。我们这样做是因为我们需要detail_id中的数字来获取每个单独的清单。

详细信息= Listings.objects.get(id = detail_id)

我们创建一个变量名称详细信息,该名称将存储每个列表的所有对象,具体取决于用户选择的列表。如果用户选择查看清单1的详细信息,则detail_id = 1意味着id = 1,因此我们将得到以下内容,即detail = Listings.objects.get(1)意味着获取清单1的所有对象。其他列表的逻辑相同。

context = {'detail':detail}
return render(request,'listings / detail.html',context)

最后,我们像往常一样将变量详细信息存储在字典中,并将其传递给模板,以便我们可以使用它。

详细清单模板

在模板文件夹中创建一个名为detail.html的模板,并添加以下代码。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图(4)

由于我们已将detail变量传递给模板,因此我们可以使用点来访问信息。在此模板中,我们显示有关每个列表以及与之关联的照片的额外信息。我们还没有包含照片,但是我们将在下一章中进行介绍。

产品类型和联系电子邮件字段是此页面中的新增内容。您可以使用模板。也许对于列表页面,您只希望显示标题和条件,并且一旦用户单击单个列表,则可以向他们显示大多数信息。不要为这些例子所束缚,而去尝试新事物。

重新访问列表模板

在关闭本章之前,请返回all_listings模板并将路径添加到详细信息页面。记住我们在前几章中添加的“查看列表”按钮,让我们激活它。

打开all_listings.html并添加以下代码。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图(6)

一个class =“ btn” href =“%url'listings:detail'listing.id%”>查看列表/ a

上一行内容如下。如果有人单击查看列表按钮/链接,则将他们带到列表的详细信息视图,并传递该列表的ID。我们使用listing.id是因为请记住,对于此模板,我们使用变量清单来访问all_listings变量中的对象。

进行此更改后,运行服务器,并测试链接。单击“查看列表”按钮后,应将您重定向到一个页面,您可以在其中查看有关所选列表的更多详细信息。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图(8)

如果查看每个单独列表的URL,您将看到类似以下屏幕截图的内容。URL的最后部分将根据您选择的列表而变化。

第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列插图(10)

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 第7章:详细清单页面-Django 3 ... 2 ... 1 ... 起飞!系列

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论