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二叉树的实现实例
Nov 21 Python
Python进阶-函数默认参数(详解)
May 18 Python
Python3安装Pymongo详细步骤
May 26 Python
python+mysql实现学生信息查询系统
Feb 21 Python
Python数据类型之List列表实例详解
May 08 Python
使用selenium模拟登录解决滑块验证问题的实现
May 10 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
python十进制转二进制的详解
Feb 07 Python
python pandas.DataFrame.loc函数使用详解
Mar 26 Python
利用python 读写csv文件
Sep 10 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制作静态网站的模板框架(四)
2006/10/09 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
dojo随手记 gird组件引用
2011/02/24 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
Python实现测试磁盘性能的方法
2015/03/12 Python
python常见数制转换实例分析
2015/05/09 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python程序暂停的正常处理方法
2019/11/07 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python内存映射文件读写方式
2020/04/24 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
团队精神演讲稿
2013/12/31 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
小升初自荐信范文
2015/03/05 职场文书
班级管理经验交流材料
2015/11/02 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript