zoukankan      html  css  js  c++  java
  • 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', #你的数据库端口
        }
    }

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

  • 相关阅读:
    Python2 和 Python3的区别 更新中
    CentOS下图形界面安装_Orcaale 11g
    Nmap_使用介绍
    shell_innobackup增量备份步骤
    shell_跳板机推送公钥
    shell_clean_log
    shell_xtrabackup_backup_mysql
    gitlab免密登录
    gitlab安装与部署
    git合并分支
  • 原文地址:https://www.cnblogs.com/xiaoyaotx/p/13263427.html
Copyright © 2011-2022 走看看