Django框架搭建的简易图书信息网站案例


Posted in Python onMay 25, 2019

本文实例讲述了Django框架搭建的简易图书信息网站。分享给大家供大家参考,具体如下:

创建Django项目,将数据库改为mysql,修改项目的urls.py文件

创建一个新应用,在应用里创建urls.py文件。

在应用的models.py里建表

from django.db import models
# Create your models here.
#一类
class BookInfo(models.Model):
 btitle=models.CharField(max_length=20)#图书名称
 bpub_date=models.DateField()#出版日期
 bread=models.IntegerField(default=0)#阅读量,默认为0
 bcomment=models.IntegerField(default=0)#评论量
 isDlete=models.BooleanField(default=False)#逻辑删除,默认不删除
#多类
class HeroInfo(models.Model):
 hname=models.CharField(max_length=20)
 hgender=models.BooleanField(default=False)
 hcomment=models.CharField(max_length=200)
 #定义一个关系属性
 hbook=models.ForeignKey('BookInfo')
 isDlete = models.BooleanField(default=False) # 逻辑删除,默认不删除

首页index.html查询所有图书信息,在views.py里完善index函数。

def index(request):
 # 1.查询出所有图书的信息
 books = BookInfo.objects.all()
 # 2.使用模板
 return render(request, 'booktest/index.html', {'books': books})

在template文件夹下的booketest文件夹下新建index.html文件。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>图书信息</title>
</head>
<body>
<a href="/create" rel="external nofollow" >新增</a>
 <ul>
  {% for book in books %}
   <li><a href="/books{{ book.id }}" rel="external nofollow" >{{ book.btitle }}</a><a href="/delete{{ book.id }}" rel="external nofollow" >_删除</a></li>
  {% endfor %}
 </ul>
</body>
</html>

index.html里有一个create新增按钮,去view.py里添加create处理函数

def create(request):
 '''新增一本图书'''
 # 1.创建一个bookinfo对象
 b = BookInfo()
 b.btitle = '流星蝴蝶剑'
 b.bpub_date = date(1990, 1, 1)
 # 2.保存进数据库
 b.save()
 # 3.返回应答
 # return HttpResponse('ok')
 # 让浏览器返回首页
 return HttpResponseRedirect('/index')

数据库里添加上之后,重定向到首页index。

应用的urls.py文件里要写url(r'^create$',views.create),才能正确的跳转到create处理函数。

一个显示书里人物的details.html,从index.html用book.id去寻找书的数据。

去views.py写details处理函数

def details(request,bid):
 book=BookInfo.objects.get(id=bid)
 heros=book.heroinfo_set.all()
 return render(request,'booktest/details.html',{'book':book,'heros':heros})

新建details.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
 <h1>{{book.btitle}}</h1>
英雄信息:
<br/>
<ul>
 {% for hero in heros %}
 <li>{{hero.hname}}--{{hero.hcomment}}</li>
  {% empty %}
  没有英雄信息
 {% endfor %}
</ul>
</body>
</html>

去应用的urls.py里把url地址和视图处理函数对应上

url(r'^books(\d+)$',views.details)

这里的(\d+)是需要传参到details视图处理函数。

github:https://github.com/zhangyuespec/Django

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
使用python实现省市三级菜单效果
Jan 20 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
Nov 06 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python二维码生成识别实例详解
Jul 16 Python
Django REST framework 单元测试实例解析
Nov 07 Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
Django框架实现的分页demo示例
May 25 #Python
Flask框架工厂函数用法实例分析
May 25 #Python
Python中Numpy mat的使用详解
May 24 #Python
Python中Numpy ndarray的使用详解
May 24 #Python
numpy数组之存取文件的实现示例
May 24 #Python
Python实现使用request模块下载图片demo示例
May 24 #Python
Python实现操纵控制windows注册表的方法分析
May 24 #Python
You might like
坏狼php学习 计数器实例代码
2008/06/15 PHP
PHP Switch 语句之学习笔记
2013/09/21 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python如何处理程序无法打开
2020/06/16 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
python在协程中增加任务实例操作
2021/02/28 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
美国校服网上商店:French Toast
2019/10/08 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
护理职业生涯规划书
2014/01/24 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
青春无悔演讲稿
2014/05/08 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
表扬信范文
2015/05/04 职场文书
公务员处分决定书
2015/06/25 职场文书
Redis过期数据是否会被立马删除
2022/07/23 Redis