zoukankan      html  css  js  c++  java
  • $Django 模板层(模板导入,继承)、 单表*详(增删改查,基于双下划线的查询)、static之静态文件配置

    1 模版导入-->模板复用
      1 写一个模板
      2 在另一个模板中导入:{% include '模板.html'%}

     2 模板的继承(相当于__init__)
      1 写一个母版,留一个可扩展的区域(盒子),可以留多个盒子(留的越多,可扩展性越高)
       {%block 名字%}
        可以写内容
       {%endblock%}

    <body>
    <div class="head"></div>
    <div class="container-fluid">
    <div class="row">
    <div class="col-md-3">
    {% include 'left.html' %}
    </div>
    <div class="col-md-9">
    {% block c1 %}
    <p>wwww</p>
    {% endblock c1 %}
    </div>
    </div>
    </div>
    </body>


      2 在子模板中使用:
       {% extend '母版.html'%}
       {%block 名字%}
       {{block.super}} #可继承母版盒子的内容

      {{block.super}} #可继承母版盒子的内容
        子模板的内容
       {%endblock 名字%}

    {% extends '1.html' %}{# 继承 #}
    {# {{ block.super }} {# 无效 #}
    {#123321312312412412512 {# 无效 #}
    {% block c1 %} {# 相当于子类定义__init__ ,没定义用父类的,定义了用自己的 #}
    {{ block.super }}
    {{ block.super }}
    <p>呵呵</p>
    <p>呵呵</p>
    {% endblock c1 %}


      
     3 静态文件相关
      1 写死静态文件:<link rel="stylesheet" href="/static/css/mycss.css">
      2 使用 static标签函数:
       -{%load static%}  #load是static.py文件
       #static返回值,会拼上传参的路径
       -{% static "css/mycss.css"%}
      3 使用get_static_prefix 标签
       -{%load static%}
       #get_static_prefix返回值是:静态文件的地址,相当于/static/
       -{% get_static_prefix %}css/mycss.css

       <link rel="stylesheet" href="/static/css/bootstrap.css">
    {# {% load static %} {# static动态获取方式1 #}
    {# <link rel="stylesheet" href="{% static 'css/bootstrap.css' %}">#}
    {# {% load static %}{# 方式2 #}
    {# <link rel="stylesheet" href="{% get_static_prefix %}css/bootstrap.css">#}

     
     4 单表操作:注(1.分清QuerySet对象&个体对象&值  它们的方法2.QuerySet对象.query可以查看sql语句)
      回顾:
        注:创建orm对象映射关系
       1.settings配置数据库
       2.import pymysql
         # 因为django默认链接mysql数据库,用的是MySQLdb模块,python3.0以后,不支持MySQLdb,需要用pymysql替换MySQLdb
         pymysql.install_as_MySQLdb()
       3.models 创建表
       4.-数据迁移命令:
       -python3 manage.py makemigrations   --->只是对变化做一个记录,记录文件在app的migrations
       -python3 manage.py migrate   ---->把更改提交到数据库
       -python3 manage.py showmigrations  ---->查看那个没有提交到数据库
      
      -查询api
       <1> all():                  Q@查询所有结果         
       <2> filter(**kwargs):       Q@它包含了与所给筛选条件相匹配的对象   
       <3> get(**kwargs):          个@如果符合筛选条件的对象超过一个或者没有都会抛出错误。
       <4> exclude(**kwargs):      Q@除开 
       <5> order_by(*field):       Q@排序 ('-id')降序  
       <6> reverse():              Q@对查询结果反向排序    
       <8> count():                值@返回数据库中匹配查询(QuerySet)的对象数量。  
       <9> first():                个@返回第一条记录  
       <10> last():                个@返回最后一条记录   
       <11> exists():              值@如果QuerySet包含数据,就返回True,否则返回False 
       <12> values(*field):        Q@返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
              model的实例化对象,而是一个可迭代的字典序列
       <13> values_list(*field):   Q@它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列   
       <14> distinct():            Q@去重
       
      -基于双下划线的模糊查询
       Book.objects.filter(price__in=[100,200,300])
       Book.objects.filter(price__gt=100)
       Book.objects.filter(price__lt=100)
       Book.objects.filter(price__gte=100)
       Book.objects.filter(price__lte=100)
       Book.objects.filter(price__range=[100,200])
       Book.objects.filter(title__contains="python")
       Book.objects.filter(title__icontains="python") #  包含 忽略大小写
       Book.objects.filter(title__startswith="py")
       Book.objects.filter(pub_date__year=2012)
     

  • 相关阅读:
    2019-9-2-Visual-Studio-自定义项目模板
    2018-8-10-WPF-判断调用方法堆栈
    2018-8-10-WPF-判断调用方法堆栈
    2018-8-10-VisualStudio-自定义外部命令
    2018-8-10-VisualStudio-自定义外部命令
    Java实现 LeetCode 999 车的可用捕获量(简单搜索)
    向代码致敬,寻找你的第83行(阿里巴巴的第83行代码是什么梗)
    向代码致敬,寻找你的第83行(阿里巴巴的第83行代码是什么梗)
    向代码致敬,寻找你的第83行(阿里巴巴的第83行代码是什么梗)
    Java实现 LeetCode 557 反转字符串中的单词 III(StringBuilder的翻转和分割)
  • 原文地址:https://www.cnblogs.com/3sss-ss-s/p/9947136.html
Copyright © 2011-2022 走看看