模板和过滤器(未完待续)

1模板的存放位置

1.1放在公共的一个文件夹中

在这里插入图片描述
首先,创建一个公共的文件夹,里面用来存放各个模板,但是如果我们创建之后应该怎么办呢?
我们应该配置路径,我们前面有提到过,配置路径要在配置文件中就是根目录下的setting文件中。
在这里插入图片描述
这个BASE_DIR所存的就是根目录的路径。
在这里插入图片描述
我们要配置的路径就是在这个TEMPLATES下面的’DIRS’中来配置的,我们不需要更改这个[],我们只需要在中间添加路径就可以了。
在这里插入图片描述
添加之后我们就可以使用了,而我们首先就是要要在这个公共的模板文件夹中放置几个针对于不同应用的文件夹,比如我这里有两个应用,一个是student,一个是teacher,所以我们这里要在这个大的模板文件夹中放置两个小的模板文件夹在这里插入图片描述
之后我们对应的模板文件夹中放置的就是一个html文件,就是所谓的页面文件,就是一个html文件。
在这里插入图片描述
之后我们就在对应的应用中开辟路径和设置返回即可。
在这里插入图片描述
在这里插入图片描述
这里主要的关键就是一个语句。

return render(request, 'teacher/teacher.html')

就是这个语句,前面就是request,后面就是集中统一放置的文件夹中的地址加上小文件夹再加上html所在位置的名字就是这个’ '中放置的东西,之后就会调用render来直接启动html页面。

1.2 分别放置在自己的文件夹中

首先在app下创建自己的模板文件夹。
在这里插入图片描述
之后我们还需要更改一个配置,就是在setting.py中添加app所在的名字
在这里插入图片描述
之后的工作和之前的工作流程都是一样的,一个需要注意的地方就路径的问题
在这里插入图片描述

1.3 顺序问题

对比上两种的方法,我们可能有个问题,就是顺序问题,如果都有谁先谁后呢,其实这个顺序是先查找总的文件再查找自己的app下面的模板
在这里插入图片描述
通过这个就可以看到,显示DIRS路径,然后是APP_DIRS,而且不仅仅是这样的,对于app下的模板来说,如果你的APP_DIRS是false的话,当你使用app查找的话,你发现是不会成功的。

1.4 选择问题

既然这两种方式,那我们要怎么选择呢,对于经常使用的app,尽量多用app下的模板,而对于大部分的我们还是经常使用放在一个页面下的,那就可能还有一个问题,就是说我们为什么对于一个页面的模板下面要放置多个文件夹呢,其实这是因为我们可能不同的应用会有相同的中文模板名,所以我们要分不同的文件夹存放。

2 模板变量

在这里插入图片描述
首先通过一个小例子来了解模板变量。
在这里插入图片描述
在这里插入图片描述
这里还有一个特别的地方就是时间问题,其实这个时间正常应该时全球固定时间,就是没有时差的时间,如果你想和当地,比如我们中国的时间相同的话我们就需要改变settings中的一个数据,
在这里插入图片描述
就是把UTc时间改成我们东八区的时间就ok了。

3模板过滤器

在这里插入图片描述

from django.shortcuts import render, redirect
from django.http import HttpResponse
from datetime import datetime
# Create your views here.

app_name = 'teacher'

def test1(request):
    now = datetime.now()  # 获取当前时间
    lt = [1, 2, 3, 4]
    st = 'alallala'
    dt = {'name':'tomas', 'age': 18, 'sex':'male'}
    return render(request, 'teacher/teacher.html', context={
        'now': now,
        'lt': lt,
        'dt': dt,
        'st': st,
    })


在这里插入图片描述


    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这是第一个页面</title>
</head>
<body>
    <h1 style="color: aqua">啦啦啦</h1>
    <p style="color: red">现在的时间是:{{ now|date:'Y年m月d日 H:i:s' }}</p>
    <p style="color: gold">我是列表:{{ lt }}</p>
    <p style="color: green">我是字典:{{ dt }}</p>
    <p style="color: purple">我是列表的一个值:{{ lt.1 }}</p>
    <p style="color: #000000">我是列表的第一个值:{{ lt|first }}</p>
    <p style="color: red">我是列表的最后一个值:{{ lt|last }}</p>
    <p style="color: red">我是列表的最后一个值相加后的值:{{ lt|last|add:5 }}</p>
    <p style="color: green">我是列表的切片{{ lt|slice:'::-1' }}</p>
    <p style="color: blue">我是列表的切片{{ lt|join:'/' }}</p>
    <p style="color: purple">我是字母{{ st }}</p>
    <p style="color: purple">我是字母大写{{ st|capfirst }}</p>
    <p style="color: purple">我是字母全大写{{ st|upper}}</p>
    <p style="color: purple">我是字母小写{{ st|lower }}</p>

</body>
</html>

这些就是主要的代码
在这里插入图片描述
这个就是整体的效果,有几个需要声明和说明的点,第一个,在date后面的:的前后是不允许缩进的,就是不能用空格,同时html接收的{{}}中的是前面的字符串的键值对中的前面部分,还有这个add后面可以跟字符串,但是必须是能转换为数字的字符串,比如"5"这种才能相加,当然这个|可以通过链式叠加的。

4 静态文件的引入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主要就是通过这几步来完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值