项目完成

完成示例项目

现在还需要的代码包括三个方面,三个方面顺序不分先后。

  • 1.定义视图
  • 2.定义URLconf
  • 3.定义模板

定义视图

编写booktest/views.py文件如下:

from django.shortcuts import render
from booktest.models import BookInfo#首页,展示所有图书
def index(reqeust):#查询所有图书booklist = BookInfo.objects.all()#将图书列表传递到模板中,然后渲染模板return render(reqeust, 'booktest/index.html', {'booklist': booklist})#详细页,接收图书的编号,根据编号查询,再通过关系找到本图书的所有英雄并展示
def detail(reqeust, bid):#根据图书编号对应图书book = BookInfo.objects.get(id=int(bid))#查找book图书中的所有英雄信息heros = book.heroinfo_set.all()#将图书信息传递到模板中,然后渲染模板return render(reqeust, 'booktest/detail.html', {'book':book,'heros':heros})

定义URLconf

编写booktest/urls.py文件如下:

from django.conf.urls import url
#引入视图模块
from booktest import views
urlpatterns = [#配置首页urlurl(r'^$', views.index),#配置详细页url,\d+表示多个数字,小括号用于取值,建议复习下正则表达式url(r'^(\d+)/$',views.detail),
]

定义模板

编写templates/booktest/index.html文件如下:

<html>
<head><title>首页</title>
</head>
<body>
<h1>图书列表</h1>
<ul>{#遍历图书列表#}{%for book in booklist%}<li>{#输出图书名称,并设置超链接,链接地址是一个数字#}<a href="/{{book.id}}/">{{book.btitle}}</a></li>{%endfor%}
</ul>
</body>
</html>

编写templates/booktest/detail.html文件如下:

<html>
<head><title>详细页</title>
</head>
<body>
{#输出图书标题#}
<h1>{{book.btitle}}</h1>
<ul>{#通过关系找到本图书的所有英雄,并遍历#}{%for hero in heros%}{#输出英雄的姓名及描述#}<li>{{hero.hname}}---{{hero.hcomment}}</li>{%endfor%}
</ul>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端模板预编译技术

什么是前端模板预编译 前端模板预编译通过预编译技术让前端模板突破浏览器限制&#xff0c;实现后端模板一样的同步“文件”加载能力。它采用目录来组织维护前端模板&#xff0c;从而让前端模板实现工程化管理&#xff0c;最终保证前端模板在复杂单页 web 应用下的可维护性。同…

Python如何生成windows可执行的exe文件

打包工具 pyinstaller 安装pyinstaller 如果你的网络稳定&#xff0c;通常直接使用下面的命令安装即可&#xff1a; pip install pyinstaller 当然了&#xff0c;你也可以下载pyinstaller源码包&#xff0c;然后进入包目录执行下面的命令&#xff0c;同样可以安装&#xff…

招商银行信用卡中心华泰证券暑期实习软开笔试小结

白菜自动化小硕一枚&#xff0c;18届&#xff0c;下学期就正式要找工作了&#xff0c;没有实习经验&#xff0c;感觉心慌慌。现在学校里已经开始各种提前招实习&#xff0c;内推了&#xff0c;so暑假想提前试试水&#xff0c;投一投暑期实习。 看到心水的单位就投一投&#xff…

理想的程序猿

出处 | http://guoze.me 最近看到的一篇不错的文章&#xff0c;分享一下。 我算是靠坑蒙拐骗进了程序员的门&#xff0c;然后一路狂奔。26岁之前几乎没有任何写代码的经验&#xff0c;研究生毕业却意外选择了一家不可能提供培训的初创公司&#xff0c;在每日担忧公司倒闭、害…

node08-express

目录&#xff1a;node01-创建服务器 node02-util node03-events node04-buffer node05-fs node06-path node07-http node08-express node09-cookie express模块&#xff1a; 1 /*2 * express是一个应用框架3 * 1、路由4 * 2、中间件5 * 3、模板引擎6 * */7 8 var express requ…

【python】1. 两数之和

给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;你不能重复利用这个数组中同样的元素。 示例: 给定 nums [2, 7, 11, 15], t…

The user specified as a definer (#39;root#39;@#39;%#39;) does not exist

&#xfeff;&#xfeff;通常是因为root用户对全局host无訪问权限。因此仅仅要给root用户加入一个訪问权限就可以。解决的方法&#xff1a; 登陆mysql 。运行 mysql -u root -pPasswd mysql >grant all privileges on *.* to root"%" identified by "Passwd…

Java基础常见笔试题总结

以下是自己总结的一些Java常见的基础知识题&#xff0c;答案仅供参考&#xff0c;如有异议请指出。一直保持更新状态。 1.什么是Java虚拟机&#xff1f;为什么Java被称作是“平台无关的编程语言”&#xff1f; Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编…

ThreadLocal的练习代码

场景: 有三个小孩儿,买了一个变形金刚玩具(Transformer).... 三个小孩都争着玩这个玩具....没有一个人可以玩... 第一种方式:每个人各玩一会.... 第二种方式:再买两个玩具,一个人玩一个. 每个小孩都当成一个线程.三个小孩就有三个线程. Child.java 2 3 import java.util.Random…

nginx+uwsgi部署Django

本篇文章主要介绍了解决nginxuwsgi部署Django的所有问题(小结)&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧 最近&#xff0c;自己暑假写的小项目也算完毕了&#xff0c;想着投放到自己云服务器上&#xff0…

$(document).scrollTop()与$(window).scrollTop()

$(document).scrollTop() 获取垂直滚动的距离 即当前滚动的地方的窗口顶端到整个页面顶端的距离 要获取顶端 只需要获取到scrollTop()0的时候 就是顶端了 要获取底端 只要获取$(document).scrollTop()>(document).height()−(window).height() 就可以知道已经…

各种机器学习开源项目精选TOP30

8800个机器学习开源项目为你精选TOP30&#xff01; 授权自AI科技大本营&#xff08;ID: rgznai100) 本文共图文结合&#xff0c;建议阅读5分钟。 本文为大家带来了30个广受好评的机器学习开源项目。 最近&#xff0c;Mybridge发布了一篇文章&#xff0c;对比了过去一年中机…

Python中is与==的使用区别详解

>>> a 1000 >>> b 1000 >>> print(id(a),id(b)) 2689566689904 2689566688880 >>> a ,b 1000,1000 >>> print(id(a),id(b)) 2689566689968 2689566689968 一行执行的用一个id地址 分行执行用两个地址

解决:Please specify a different SDK name--PyCharm报错

这个问题出现的原因是因为PyCharm中存在相同名字的虚拟环境变量。 本人的出错原因是&#xff0c;一直使用PyCharm的默认设置来建立工程&#xff0c;所以每个工程都建立了自己独立的虚拟环境。 我个人删除了一些工程后&#xff0c;又建立相同名字的工程。所以才会出现存在相同…

Tomcat控制台输出到文件

为什么80%的码农都做不了架构师&#xff1f;>>> 修改startup.bat call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\test.log 转载于:https://my.oschina.net/cccyb/blog/886047

常见算法详解(原理及代码实现Python版本)

文章目录前言1、冒泡排序2、选择排序3、插入排序4、希尔排序5、快速排序6、归并排序7、二分法查找总结前言 最近复习了下常见的算法&#xff0c;在这里手动再写一遍&#xff0c;权当加深自己的印象。代码实现用的是python3.6版本。 1、冒泡排序 原理&#xff1a; 冒泡排序&a…

解决:pycharm运行程序时在Python console窗口中运行 һ����ң�������1�����

解决&#xff1a;pycharm运行程序时在Python c 问题&#xff1a; 在pycharm中右键点击run运行程序&#xff0c;发现没有打开run窗口运行&#xff0c;而是在Python console窗口中运行的。 解决方法&#xff1a; 打开菜单栏 run->edit configurations&#xff0c; 把下图中的…

Autowire异常

Autowire异常主要由三个情况发生的 1. 你的ServiceImpl必须以Service或Component注解才行。 2. 自动写入的时候把接口写成实现类了&#xff0c;例如 Autowired private BrandServiceImpl brandServiceImpl; 应该是 Autowired private BrandService brandService; 3. 在Dao 类上…

[转载] 全方位提升网站打开速度:前端、后端、新的技术

原文地址&#xff1a;Building a Shop with Sub-Second Page Loads: Lessons Learned原文作者&#xff1a;Erik Witt译文出自&#xff1a;掘金翻译计划译者&#xff1a;luoyaqifei校对者&#xff1a;Romeo0906&#xff0c;L9m全方位提升网站打开速度&#xff1a;前端、后端、新…

20个顶级大数据软件应用程序

目录1. Domo2. Teradata Database3. Hitachi Vantara4. TIBCO公司的Statistica5. Panoply6. IBM Watson Analytics7. SAS Visual Analytics8. Sisense商业智能软件9. Talend的大数据工作室10. Cloudera11. MongoDB12. Vertica Analytics Platform13. SAP Vora14. Oracle Big Da…