python网站开发用什么,网络工程师培训班要多少钱,百事可乐网络营销推广方法,手机网站建设多少钿锋哥原创的Python Web开发 Django5视频教程#xff1a;
2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计35条视频#xff0c;包括#xff1a;2024版 Django5 Python we…锋哥原创的Python Web开发 Django5视频教程
2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计35条视频包括2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等UP主更多精彩视频请关注UP账号。https://www.bilibili.com/video/BV14Z421z78C/Jinja是Python里面被广泛应用的模板引擎最新版本3.1.3 它的设计思想来源于Django的模板引擎并扩展了其语法和一系列强大的功能。其中最显著的是增加了沙箱执行功能和可选的自动转义功能这对大多数应用的安全性来说是非常重要。此外它还具备以下特性: ·沙箱执行模式模板的每个部分都在引擎的监督之下执行模板将会被明确地标记在白名单或黑名单内这样对于那些不信任的模板也可以执行。 强大的自动HTML转义系统可以有效地阻止跨站脚本攻击。 模板继承机制此机制可以使得所有模板具有相似一致的布局也方便开发人员对模板进行修改和管理。 高效的执行效率Jinja3引擎在模板第一次加载时就把源码转换成Python字节码加快模板执行时间。 调试系统融合了标准的Python的TrackBack功能使得模板编译和运行期间的错误能及时被发现和调试。 语法配置可以重新配置Jinja3使得它更好地适应LaTeX或JavaScript 的输出。官方文档手册此手册指导设计人员更好地使用Jinja3引擎的各种方法。 Django支持 Jinja3模板引擎的使用由于Jinja3的设计思想来源于Django 的模板引擎因此Jinja3的使用方法与 Django 的模板语法有相似之处。
开源主页https://github.com/pallets/jinja
官方文档https://jinja.palletsprojects.com/en/3.1.x/ 我们用pip命令安装Jinja3 pip install Jinja2 -i https://pypi.tuna.tsinghua.edu.cn/simple Jinja3安装成功后接着在 Django里配置Jinja3模板。由于 Django的内置功能是使用 Django的模板引擎如果将整个项目都改为Jinja3模板引擎就会导致内置功能无法正常使用。在这种情况下既要保证内置功能能够正常使用,又要使用Jinja3模板引擎只能将两个模板引擎共存在同一个项目里。
首先我们在helloWorld项目库里新建Jinja3.py用来定义环境参数
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import Environmentdef environment(**options):env Environment(**options)env.globals.update({static: staticfiles_storage.url,url: reverse})return env
然后我们找到项目配置settings.py
TEMPLATES [{BACKEND: django.template.backends.jinja2.Jinja2,DIRS: [BASE_DIR / templates],APP_DIRS: True,OPTIONS: {environment: helloWorld.Jinja3.environment},},{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [BASE_DIR / helloWorld/templates, BASE_DIR / templates],APP_DIRS: True,OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},},
]
我们找到项目目录下templates的index.html修改下Jinja3支持的模板语法
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
{{ msg2[cat] }}
/body
/html
运行测试