Python学习第124天(Django回头看:继承extend、ORM)
本来是已经看了一部分的增删改查的内容了,但是这部分内容看的时候感觉今天晚上的脑子有点不够用了,所以今晚暂时不总结这部分的内容
一、extend继承
首先看一个html文件的书写:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>学生管理</title> <style> *{ margin:0; padding: 0; } .nav{ line-height: 40px; width: 100%; background-color: #2459a2; color: white; font-size: 20px; } .left{ width: 20%; min-height: 600px; overflow: auto; background-color: gray; } .manage{ text-align: center; padding: 20px 0px; margin: 20px 0px; } a{ text-decoration: none; } </style> </head> <body> <div class="outher"> <div class="nav">标题</div> <div class="left"> <div class="student manage"><a href="">学生管理</a></div> <div class="class manage"><a href="">课程管理</a></div> <div class="course manage"><a href="">班级管理</a></div> <div class="teacher manage"><a href="">老师管理</a></div> </div> <div class="content"> <h1>welcome come in!!!</h1> </div> </div> </body> </html>
这个时候我们需要分别写“学生管理”、“课程管理”、“班级管理”、“老师管理”四个对应的页面,但是这个时候也存在一个问题,就是我们在左边上方的代码是不用动的,如果全部重新写代码的重复就非常的多,所以此处我们就引入了extend
在模板及父类的中间加上{ % block 名称 % }和{ % endblock % }
然后我们在子类当中就可以进行继承
随后我们在首行写上{ % extends “父类的html文件名” % }
然后在{ % block 名称 % }和{ % endblock % }之间编辑我们所需要重新书写的内容
关于他的样式我们可以直接在父类中进行修改,也可在父类的<style>标签中增加一个模板盒子
当然,如果我们觉得父类中的语句写的很好,我们需要继承,那么我们就可以通过在盒子中书写{ % block.super % }进行继承父类中的盒子内容
指定继承某一句时我们可以通过使用include,在需要继承的位置书写{ % loads staticfiles % },接着在需要用的地方写上{ % include “html文件名” % }
关于继承有四点需要提醒的地方:
1.{ % extends “父类的html文件名” % }必须放在子类的首行
2.继承的盒子越多,代码越好
3.block.super可以继承父类盒子内容
4.block定义的盒子名称不能重复
下面是关于ORM的内容
全程是object relation mapping 对象关系映射表
Django中支持的数据库有:
<1> sqlite
django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3
<2> mysql
引擎名称:django.db.backends.mysql
关于如何配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'books', #你的数据库名称 'USER': 'root', #你的数据库用户名 'PASSWORD': '', #你的数据库密码 'HOST': '', #你的数据库主机,留空默认为localhost 'PORT': '3306', #你的数据库端口 } }
这部分内容理解的还不是很好,明天再继续吧。