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;
         100%;
        background-color: #2459a2;
        color: white;
        font-size: 20px;
    }
    .left{
         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', #你的数据库端口
    }
}

这部分内容理解的还不是很好,明天再继续吧。

原文地址:https://www.cnblogs.com/xiaoyaotx/p/13263427.html