通过数据库中三个表(出版社,作者,书)的关系来显示出来的一个简单项目
一、分析之间联系和用到知识点
1. 图书管理系统之出版社的增删改查
1).表结构设计
1. 出版社
id name
2. 作者
id name
3. 书
id title 出版社_id
4. 作者_书_关系表
id 书_id 作者_id
2). ORM版增删改查
1. ORM的语句
1. 类名.objects.all() --> 返回一个列表
2. 类名.objects.filter() --> 返回一个列表
3. 类名.objects.get() --> 返回一个对象
4. 类名.objects.create(name='') --> 创建一个对象,返回的就是刚创建的对象
5. 类名.objects.filter(id=).delete() --> 删除
6. obj = 类名.objects.get(id='')
obj.name = '新值' --> 修改对象的属性(修改数据行某个字段的值)
obj.save() --> 把修改同步到数据库
3). Django 模板语言
1. for循环
{% for i in ret %}
{{ i }}
{{ forloop.counter }} --> for循环从1开始计数
{{ forloop.counter0 }} --> for循环从0开始计数
{% endfor %}
看不明白就往下看
打开你之前创建好的登录项目1,在此基础上做下
二 、 第一步创建一个出版社的表单
表单出来后可在pycha的sql可视化工具中添加两个内容
三 、 数据有了现在要来一个方法展示到前端
1添加路由
2.添加函数
3.展示数据库的HTML
再templates文件中新建一个 ‘press_list.html’ 的文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>press_list</title> <link rel="stylesheet" href="/static/bootstrap.css"> </head> <body> <table class="table table-bordered table-hover"> <thead> <tr> <th>序号</th> <th>id</th> <th>名称</th> </tr> </thead> <tbody> {% for i in ret %} {# ret 代表所有ORM对象,遍历生成下边样式的表格 #} <tr> <td>{{ forloop.counter }}</td> {# for循环计数 从1开始 #} <td>{{ i.id }}</td> {# ORM对象中的id属性 #} <td>{{ i.name }}</td> {# ORM对象中的那么属性 #} </tr> {% endfor %} </tbody> </table> </body> </html>
可以测试在网站输入127.0.0.1:8080/press-list 回车查看
四 、 给网站表格增加出版社功能添加
1 . 添加路由
2.考虑下 增加出版社的过程时候 要让用户在 另一个网页输入内容,然后跳转到修改后的press_lsit展示的网页。
修改,press_list文件 并且添加 add_press.html
再press_lsit 中添加一个a标签
添加一个add_lsit.html