第57天:django学习(六)

这篇具有很好参考价值的文章主要介绍了第57天:django学习(六)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模版之过滤器

        语法:

{{obj|filter__name:param}}  变量名字|过滤器名称:变量

default

        如果一个变量是false或者为空,使用给定的默认值。否则,使用变量的值。例如:

{{ value|default:"nothing"}}

length

        返回值的长度。它对字符串和列表都起作用。例如:

{{ value|length }}

filesizeformat

        将值格式化为一个 “人类可读的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:

{{ value|filesizeformat }}

date

        如果 value=datetime.datetime.now()

{{ value|date:"Y-m-d"}}

slice

        如果 value=”hello world”

{{ value|slice:"2:-1"}}

truncatechars

        如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“…”)结尾。

{{ value|slice:"2:-1"}}

safe

value="<a href="">点击</a>"
{{ value|safe}}  

模版之标签

        标签看起来像是这样的: {% tag %},标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中。一些标签需要开始和结束标签 (例如{% tag %} ...标签 内容 ... {% endtag %})

for标签

        遍历每一个元素

{% for person in person_list %}
    <p>{{ person.name }}</p>
{% endfor %}

        遍历一个字典:

{% for key,val in dic.items %}
    <p>{{ key }}:{{ val }}</p>
{% endfor %}
​
{% for foo in d.keys %}
    <p>{{ foo }}</p>
{% endfor %}
​
{% for foo in d.values %}
    <p>{{ foo }}</p>
{% endfor %}
​
{% for foo in d.items %}
    <p>{{ foo }}</p>
{% endfor %}

for...empty

{% for person in person_list %}
    <p>{{ person.name }}</p>
​
{% empty %}
    <p>sorry,no person here</p>
{% endfor %}

if 标签

        会对一个变量求值,如果它的值是True(存在、不为空、且不是boolean类型的false值),对应的内容块会输出。

{% if num > 100 or num < 0 %}
    <p>无效</p>
{% elif num > 80 and num < 100 %}
    <p>优秀</p>
{% else %}
    <p>凑活吧</p>
{% endif %}
  • if语句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判断。

with

{% with d.hobby.3.info as nb  %}
    <p>{{ nb }}</p>
    <p>{{ d.hobby.3.info }}</p>
{% endwith %}
  • 在with语法内就可以通过as后面的别名快速的使用到前面非常复杂获取数据的方式

csrf_token

{% csrf_token%}
  • 这个标签用于跨站请求伪造保护

模版导入入和继承     

        写一个被导入的模板adv.html

<div class="adv">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">Panel title</h3>
        </div>
        <div class="panel-body">
            Panel content
        </div>
    </div>
    <div class="panel panel-danger">
        <div class="panel-heading">
            <h3 class="panel-title">Panel title</h3>
        </div>
        <div class="panel-body">
            Panel content
        </div>
    </div>
    <div class="panel panel-warning">
        <div class="panel-heading">
            <h3 class="panel-title">Panel title</h3>
        </div>
        <div class="panel-body">
            Panel content
        </div>
    </div>
</div>

        写一个模板来导入base.html,用来导入adv.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/js/jquery_3.7.1_jquery.min.js"></script>
    <link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css">
    <script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
​
        .header {
            height: 50px;
            width: 100%;
            background-color: #369;
        }
    </style>
</head>
<body>
<div class="header"></div>
<div class="container">
    <div class="row">
        <div class="col-md-3">
            {% include 'adv.html' %}
        </div>
        <div class="col-md-9">
            {% block conn %}
                 <h1>你好</h1>
            {% endblock %}
        </div>
    </div>
</div>
</body>
</html>

        写一个模板index.html,来继承base.html

{% extends 'base.html' %}
​
{% block conn %}
    {{ block.super }}
​
我是主页
​
{% endblock conn%}

常见的查询方法

查询方法 描述
all() 查询所有数据
filter() 带有过滤条件的查询
get() 直接拿数据对象 但是条件不存在直接报错
first() 拿queryset里面第一个元素
distinct() 去重
order_by 排序
reverse() 反转
count() 统计个数
exclude 排除
exist 判断是否存在

 

基于双下滑线的查询

        文章来源地址https://www.toymoban.com/news/detail-756115.html

查询参数 描述
age__gt= 大于
age__lt= 小于
age__gte= 大于等于
age__lte= 小于等于
age__in=[数字1,数字2,数字3] 成员运算
age__range=[数字1,数字2] 范围运算
字段名__contains= 包含
字段名__startswith= 以……开头
字段名__endswith= 以……结尾
日期字段__day= 查天数
日期字段__month= 查月份
日期字段__year= 查年份

到了这里,关于第57天:django学习(六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI:57-基于机器学习的番茄叶部病害图像识别

    🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问

    2024年02月05日
    浏览(46)
  • 0基础学习VR全景平台篇 第57篇:高级功能-多语言

     功能位置示意 一、本功能将用在哪里?   多语言功能,可一键设置作品界面语言为中/英文,或跟随系统自动切换中/英文,各位可以用户可以轻松 制作英文版VR全景作品, 满足国外用户访问的需求。 此外蛙色VR平台,可通过离线导出包 实现日文、法文、德文、俄文及其他

    2024年02月13日
    浏览(39)
  • Django学习笔记:第三章Django的路由

    URL是网站Web服务的入口。用户在浏览器输入URL发出请求后,django会根据路由系统,运行对应的视图函数,然后返回信息到浏览器中。 创建项目时,会自动生成urls.文件,文件中定义了项目的路由信息,成为项目的路由解析入口。在自建的应用中可以手动配置独立的urls.py文件。

    2024年02月16日
    浏览(76)
  • Django学习(1):Django项目的初步创建与简单配置

            每一个python项目都创建一个新的虚拟环境有助于我们对于项目与其所对应包的管理等。 这里使用pycharm工具进行操作演示。         pycharm左上方找到菜单——File——New Project。         点击后弹出新建项目窗口进行配置 Location:项目总路径,选择一个空的文件夹。

    2024年04月23日
    浏览(52)
  • Django学习笔记:第二章django的安装和创建应用

    终端运行 查看django是否安装成功 在控制台运行 在特定文件夹内打开终端运行 生成 进入上图的Scripts文件夹内,打开终端 先正常安装VSCode 再安装python插件 安装Django插件,搜索django,安装前两个 特点 功能完善,开发速度快,安全性强 有完善的在线文档 模型自带数据库ORM组件

    2024年02月16日
    浏览(46)
  • django学习笔记(1)

    先创建一个文件夹用来放django的项目,我这里是My_Django_it 之后打开到该文件下,并用下面的指令来创建myDjango1项目 类似蓝图 模块化 在myDjango2中的settings.py中 最后一句加上\\\"app01.apps.App01Config\\\", 编写URL和视图的关系 bug: 若出现下面报错 说明端口被占用了,很可能是酷狗占用了,

    2024年02月15日
    浏览(45)
  • Django学习笔记

    创建项目:django-admin startproject 项目名 创建APP(进入工程目录):python manage.py startapp 网站名 创建库表(进入工程目录):python manage.py makemigrations 执行库表建立(进入工程目录):python manage.py migrate 启动运动:python manage.py runserver 模板渲染嵌入语法:在html可以嵌入后台语言 区分符

    2024年02月09日
    浏览(35)
  • Django框架学习大纲

    对于使用 Python 的 Django 框架进行 web 开发的程序员来说,以下几点是必须了解的。 使用 pip 安装 Django。 使用 django-admin startproject 初始化一个新的 Django 项目。 进入项目文件夹。 使用 python manage.py startapp 创建一个新的应用。 makemigrations 会创建新的迁移文件。 migrate 实际应用这

    2024年02月07日
    浏览(32)
  • 【Django】学习笔记

    个人主页:丷从心· 系列专栏:Django MVC与MTV MVC设计模式 MTV设计模式 Django下载 Django工程创建与运行 创建工程 运行工程 子应用创建与注册安装 创建子应用 注册安装子应用 配置 settings.py 中的 INSTALLED_APPS 数据模型 ORM框架 配置 models.py 模型迁移 Tools - Run manage.py Task Admin站点 修

    2024年04月28日
    浏览(36)
  • Django学习笔记(2)

    属于自动执行了python manage.py 直接在里面运行startapp app01就可以创建app01的项目了 之后在setting.py中注册app01 其中用户中加入部门数据,如果是正常开始用ID,对于特别大的公司用字符串名称,这样可以防止连表的时间消耗,属于用空间换时间。 ###前端页面 上面的导航栏代码在

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包