python学习第4天---django框架---MVT综合小练习
目录
文章目录
内容
1、Django MVT简介
Django的MVT模式
- M: Model, 模型 与MVC中的M相同,负责对数据的处理
- V: View, 视图 与MVC中的C类似,负责处理用户请求,调用M和T,响应请求
- T: Template, 模板 与MVC中的V类似,负责如何显示数据(产生html界面)
- 图示1-1:
2、演示
- 首页2-1:
- 书籍列表页2-2:
- 英雄列表页2-3:
3、代码
- 目录结构:
- 路由:
-
项目路由:book_manage_system/urls.py
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^book/', include('book.urls')), ]
-
应用路由:book/urls.py
from django.conf.urls import url from book import views urlpatterns = [ # 通过url函数设置url路要配置项 url(r'^index$', views.index), url(r'^book_list$', views.book_list), url(r'^book_list/(\d+)$', views.hero_list), ]
-
- 视图:book/views.py
from django.shortcuts import render
from book.models import Book
from book.models import Hero
# Create your views here.
def index(request):
# return HttpResponse('欢迎进入书籍管理系统')
pass
def book_list(request):
'''书籍列表展示'''
books = Book.objects.all()
return render(request, 'book/book-list.html', {'book_list': books})
def hero_list(request, bid):
'''英雄介绍'''
# 1、根据bid查询图像对象
book = Book.objects.get(id=bid)
# 2、根据图书对象查询管理的英雄对象
heros = book.hero_set.all()
return render(request, 'book/hero_list.html', {'hero_list': heros})
- 模板:book_manage_system/templates/book/*
-
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .test { width: 200px; height: 100px; margin: 0 auto; } li { color: green; } </style> </head> <body> <div class="test"> <h3 style="color: orange">书籍管理首页</h3> <hr> <a href="http://127.0.0.1:8000/book/book_list">书籍列表</a> </div> </body> </html>
-
book-list.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图书管理系统</title> <style> .test { width: 200px; height: 100px; margin: 0 auto; } li { color: green; } </style> </head> <body> <div class="test"> <h3 style="color: orange">书籍管理首页</h3> <hr/> <table border="1"> <thead> <tr> <th>ID</th> <th>书籍名称</th> <th>出版时间</th> <th>点击查看英雄介绍</th> </tr> </thead> <tbody> {% for book in book_list %} <tr> <td>{{ book.id }}</td> <td>{{ book.title}}</td> <td>{{ book.publishing_time}}</td> <td><a href="http://127.0.0.1:8000/book/book_list/{{ book.id}}">点击查看</a></td> </tr> {% endfor %} </tbody> </table> <a href="http://127.0.0.1:8000/book/index">返回</a> </div> </body> </html>
-
hero-list.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图书管理系统</title> <style> .test { width: 200px; height: 100px; margin: 0 auto; } li { color: green; } </style> </head> <body> <div class="test"> <h3 style="color: orange">书籍管理首页</h3> <hr/> <table border="1"> <thead> <tr> <th>ID</th> <th>书籍名称</th> <th>出版时间</th> </tr> </thead> <tbody> {% for hero in hero_list %} <tr> <td>{{ hero.id }}</td> <td>{{ hero.name}}</td> <td>{{ hero.sect}}</td> </tr> {% endfor %} </tbody> </table> <a href="http://127.0.0.1:8000/book/book_list">返回</a> </div> </body> </html>
-
后记 :
本项目为参考某音python系列视频。上面为自己参考写的学习笔记,持续更新。欢迎交流,本人QQ:806797785