热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

模板层之标签、自定义模板语法、母版(模版)的继承与导入、模型层前期准备知识点、ORM常用关键字

今日内容概要模板层之标签if判断{%if条件1%}#条件1成立Hello!#执行{%elif条件2%}#条件1不成立条件2成立Hi!


今日内容概要


模板层之标签


if判断

{% if 条件1 %} #条件1成立

Hello!

#执行
{% elif 条件2 %} #条件1不成立 条件2成立

Hi!

#执行
{% else %} #条件1条件2都不成立

Bye!

#执行
{% endif %}

for循环

{% for k in d1 %}

{{ k }}


{% endfor %}

循环打印字典里的key

关键字:forloop

image


结合使用

{% for k in d1 %}
{% if forloop.first %}

这是我的第一次循环 {{ k }}


{% elif forloop.last %}

这是我的最后一次循环 {{ k }}


{% else %}

这是中间循环 {{ k }}


{% endif %}
{% endfor %}

image


关键字:empty (检测数据是否为空 支持for循环 里面却没有数据值的 )

{% for k in t1 %}
{% empty %}

你给我传的是空的


{% endfor %}

image


django模板语法取值操作>>>:只支持句点符

句点符据可以点索引也可以点键

d1 = {'name': 'jason', 'age': 18,'hobby':['read','music',{'a':111,"b":222}]}
#拿111
{{ d1.hobby.2.a }}


{% with d1.hobby.2.a as H %}
{{ H }} #复杂数据获取后需要经常使用 可以起别名
{% endwith %}

自定义过滤器、标签及inclusion_tag(了解)

'''
必须要先完成下列的三步走战略
1.在应用下创建一个templatetags的目录
2.在上述目录下创建任意名称的py文件
3.在上述文件内先编写两行固定代码
from django import template
register = template.Library()
'''

自定义过滤器

@register.filter(name='myadd')
def func1(a,b): #最大只能接收两个参数
return a*b
要先加载过滤器
{% load xxx %} #自己创建的py文件名字

{{ i|myadd:1 }}



自定义标签

@register.simple_tag(name='mytag')
def func2(a,b,c) #参数没有限制
return f'{a}-{b}-{c}'
{% load xxx %}
{% mytag 'jason' 'kevin' 'joyce' %}

自定义inclusion_tag(局部html代码)

@register.inclusion_tag('menu.html',name='mymenu')
def func3(n):
html=[]
for i in range(n):
html.append('

  • 第%s个
  • '%i)
    return locals()
    {% load mytags %}
    {% mymenu 20%}

    image


    模(母)板的继承与导入


    模板的继承

    多个页面有很多相似的地方 我们可以采取下列方式
    方式1: 传统的复制粘贴
    方式2:模板的继承
    1.在模板中使用block挂顶子板以后可以修改的区域
    {% block 区域名称(随便) %}
    {% endblock %}

    2.子板继承模板
    {% extends 'home。html' %}
    {% block 区域名称 %}
    子板自己的内容
    {% endblock %}

    ps:模板中至少应该有三个区域
    页面内容区、css样式区、js代码区


    image

    image


    子板也可以继续使用模板的内容

    {{ block.super}}
    可以连续要

    image


    模板的导入

    新建一个不是一个完整的页面 单独封装
    将某个html的部分提前写好 之后很多html页面都想使用就可以导入
    {% include 'myfrom.html'%}

    模型层之ORM常见关键字


    1.自带的sqlite3数据库对视键字段不够敏感 有时会展示错乱

    auto_now_add 创建数据自动获取当前时间 后续不人为i操作的话不会修改
    auto——now 每次操作数据都会自动更新当前数据

    2.单独测试django某个功能层

    默认不允许单独测试某个py文件

    测试环境搭建:

    测试环境1:pycharm提供的python console

    image

    测试环境2:自己搭建(自带的test或者自己建一个py文件)
    1.拷贝manage.py前四行
    2.自己在加两行
    import django
    django.setup()

    3.django orm底层还是sql语句 我们可以查看

    如果我们手上是一个QuerySet对象 那么可以直接点query查看sql语句
    如果想查看orm底层的sql语句也可以在配置文件中添加日志记录

    orm常用关键字


    1.create()

    image


    2.filter()

    image


    3.first() last()

    image


    4.update()

    image


    5.delete()

    image


    6.all()

    image


    7.values()

    image


    8.values_list()

    image


    9.distinct()

    image


    10.order_by()

    image


    11.get()

    image


    12.exclude()

    image


    13.reverse()

    image


    14.count()

    image


    15.exists()

    image



  • 推荐阅读
    • CentOS7源码编译安装MySQL5.6
      2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
    • PyCharm下载与安装指南
      本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
    • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
    • 深入理解Tornado模板系统
      本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
    • PHP 5.2.5 安装与配置指南
      本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
    • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
    • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
    • 版本控制工具——Git常用操作(下)
      本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
    • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
    • 本文深入探讨 PHPCMS 平台中的字符串截取函数 str_cut 的使用方法,该函数常用于控制输出的标题或内容摘要长度,有效避免因过长的文本导致的页面布局问题。通过本文,读者将掌握如何灵活运用此函数,包括处理 HTML 标签等高级技巧。 ... [详细]
    • golang常用库:配置文件解析库/管理工具viper使用
      golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
    • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
    • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
    • springMVC JRS303验证 ... [详细]
    • 详解 | 日志系统ViseLog的基本使用与功能
      本文详细介绍了日志系统ViseLog的使用方法及其核心功能,旨在帮助开发者更好地理解和利用这一工具,提高开发效率。 ... [详细]
    author-avatar
    菜蕻的薇笑2602929033
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有