刷赞网站建设手机网站qq代码

pingmian/2025/10/9 5:34:08/文章来源:
刷赞网站建设,手机网站qq代码,广州安全教育平台注册,旅游网站建设调研前言 Django 的模板系统将 Python 代码与 HTML 代码解耦#xff0c;动态地生成 HTML 页面。Django 项目可以配置一个或多个模板引擎#xff0c;但是通常使用 Django 的模板系统时#xff0c;应该首先考虑其内置的后端 DTL#xff08;Django Template Language#xff0c;D…前言 Django 的模板系统将 Python 代码与 HTML 代码解耦动态地生成 HTML 页面。Django 项目可以配置一个或多个模板引擎但是通常使用 Django 的模板系统时应该首先考虑其内置的后端 DTLDjango Template LanguageDjango 模板语言。 一.什么是模板 在 Django 中模板是可以根据字典数据动态变化的并且能够根据视图中传递的字典数据动态生成相应的 HTML 网页。Django 中使用 Template 来表示模板Template 对象定义在 django/template/base.py 文件中它的构造函数如下所示 def __init__(self,template_string,originNone,nameNone,engineNone) 它只有一个必填的参数字符串表示的模板代码。 1.模板的配置 首先按照BookStore/templates路径创建模板文件夹 templates在 settings.py 配置文件中有一个 TEMPLATES 变量如下所示 TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [],  #指定模板文件的存放路径APP_DIRS: True, #搜索APP里面的所有templates目录OPTIONS: {context_processors: [  #context_processors 用于配置模板上下文处理器django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,],},}, ] 其中每一项含义如下所示 BACKEND : Django默认设置指定了要是用的模板引擎的 Python 路径 DIRS : 一个目录列表指定模板文件的存放路径可以是一个或者多个。模板引擎将按照列表中定义的顺序查找模板文件 APP_DIRS : 一个布尔值默认为 Ture。表示会在安装应用中的 templates 目录中搜索所有模板文件 OPTIONS : 指定额外的选项不同的模板引擎有着不同的可选参数例如 context_processors 用于配置模板上下文处理器在使 RequestContext 时将看到它们的作用。 修改settings配置文件 修改 settings.py 文件设置 TEMPLATES 的 DIRS 值来指定模板的搜索目录为“templates”如下所示 2.模板变量 前面的内容中我们提到了模板变量并且已经使用了它如{{name}}。 Django模板引擎通过 context_processors 这个上下文处理器来完成字典提供的值value 与模板变量之间的替换也就是用字典的 vaule“乔治老师真厉害”来替换模板文件 test.html 中的变量 {{name}}这就好比字典中 key 到 vaule 的映射。而我们无需关心内部细节是如何让实现的这些由 Django 框架自己完成。 变量的命名规范 Django 对于模板变量的命名规范没有太多的要求可以使用任何字母、数字和下划线的组合来命名且必须以字母或下划线开头但是变量名称中不能有空格或者标点符号。 模板变量的语法 如何理解模板的变量语法呢其实它有四种不同的使用场景分别如下所示 索引 index 查询如 {{变量名.index}}其中 index 为int类型即索引下标 字典查询方法{{变量名.key}} 其中 key 代表字典的键如 a[b] 属性或方法查询如 {{对象.方法}} 把圆点前的内容理解成一个对象把圆点后的内容理解为对象里面的属性或者方法 函数调用如 {{函数名}}。 下面我们对上面的语法依次进行说明首先在views.py中添加如下代码 def test_html(request):a {} # 创建空字典模板必须以字典的形式进行传参a[name] YUa[course] [Python, C, C, Java]a[b] {name: TX, address: https://www.baidu.com/}a[test_hello] test_helloa[class_obj] Website()return render(request, test_html.html, a)def test_hello():return 欢迎来到Djangoclass Website:def Web_name(self):return Hello world! 其次在templates 目录下创建名为 test_html 的 html 文件然后添加以下代码 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyp网站的名字是{{ name }}/pp课程包含{{ course.0 }}/pp变量a是{{ b }}/ppa[address]是{{b.address}}/pp函数fuction{{ test_hello }}/pp类实例化对象{{class_obj.Web_name}}/p /body /html 然后在 urls.py 文件中添加路由配置如下所示 from django.contrib import admin from django.urls import path from Bookstore import viewsurlpatterns [path(admin/, admin.site.urls),path(test/, views.test_html),path(test_html/, views.test_html) ] 模板传参语法格式 在视图函数中必须将变量封装到字典中才允许传递到模板上语法格式如下 #方式1 def xxx_view(request)dic {变量1:值1,变量2:值2,}return render(request, xxx.html, dic) #方式2 def xxx_view(request)变量1值1变量2值2return render(request, xxx.html, locals()) 注意 locals() 返回当前函数作用域内全部局部变量形成的字典。 即将变量与值对应形成字典并把这个字典作为 locals() 的返回值来使用。 3.模板标签 Django 内置了许多标签用于简化模板的开发过程同时 Django 也支持自定义标签这极大的方便了 Web 开发者下面我们依次进行介绍。 Django 的模板系统对标签的解释是在渲染的过程中提供相应的逻辑比如Python 语言中 if...else 语句、with 语句、以及 for 循环等这些在 Django 的模板系统中都有对应的标签不过稍微复杂些。 它们的使用方式如下所示 {% tag %} 3.1 判断逻辑的if标签 我们知道if 在 Python 语言中是判断条件是否成立的在模板标签中它们作用是类似的如果条件成立则显示块中的内容。模板标签规定了 if 需要与 endif 成对出现 使用的方式如下所示 {% if 条件表达式1 %}...... {% elif 条件表达式2 %} ...... {% elif 条件表达式3 %} ...... {% else %} ...... {% endif %} 上面的 if 示例中就是使用了开始标签和结束标签它们分别写在了开始位置和结束位置。 注意模板标签内部的两边空格不要省略。 那 if 标签具体又是如何使用的呢下面我们通过一个简单的例子来看一下 #在views.py 中添加如下代码 def test_if(request):dic{x:2**4}return render(request,test_if.html,dic) 在 templates 目录中创建 test_if.html 文件 并在body中添加以下代码 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body{% if x 0 %}h2{{ x }}是大于0的/h2{% elif x 0 %}h3{{ x }}是等于0的/h3{% elif x 0 %}h4{{ x }}是小于0的/h4{% endif %} /body /html 最后在 urls.py 文件中配置路由如下所示 path(test_if/,views.test_if) 最终结果可想而知通过访问 127.0.0.1:8000/test_if 会得到如下显示 从上面例子还可以看出在 if 标签中可以使用算术操作符如 、、、 等符号同时也可以使用逻辑运算符 and、or 来连接多个条件以及使用 not 对当前条件取反。 注意elif 和 else 这两个标签是可选的elif 标签可以不止一个但是 else 标签只有一个同时也可以都不出现在 if 标签中只使用 if 与 endif。 如果当判断的条件太多时为了避免过多的连接操作符的出现同样可以考虑使用嵌套的 if 标签。 格式如下所示 {% if 条件表达式1 %}{% if 条件表达式 %}......{% elif 条件表达式2 %}......{% else %}......{% endif %} {% endif %} 在这里我们介绍另外一种方式来简单的演示如何使用嵌套 if 标签在 views.py 文件中添加如下代码 from django.template import Template, Context #调用template、以及上下文处理器方法 def Hello_MyWeb(request):#调用template()方法生成模板t Template({% if web.name YU %}{% if printable %}h1Hello YU/h1{% else %}h2欢迎您下次访问YU/h2{% endif %}{% endif %})c Context({web: {name: YU}, printable: True})  #Context必须是字典类型的对象用来给模板传递数据html t.render(c)return HttpResponse(html) 3.2 Django for标签的使用 for 标签用于对可迭代对象进行遍历包括列表、元组等它与 Python 中的 for 语法是类似的。for 标签 使用时也需要和 endfor 标签配合使用当然它也有不同之处那就是它多了一个可选的 empty 标签比如用它来显示当列表不存在或者列表中元素为空的时候要显示的内容。 它的使用格式如下 {% for 变量 in 可迭代对象 %}... 循环语句 {% empty %}... 可迭代对象无数据时填充的语句 {% endfor %} 我们通过一个具体的实例来看一下它的用法在 views.py 中添加如下代码 def test_for(request):#调用template()方法生成模板t1 Template({% for item in list %}li{{ item }}/li{% empty %}h1如果找不到你想要可以来百度(网址https://www.baidu.com)/h1{% endfor %})#调用 Context()方法c1 Context({list: [Python, Java, C, Javascript, C]})html t1.render(c1)return HttpResponse(html) 并配置路由映射关系如下所示 path(test_for/,views.test_for) 访问 127.0.0.1:8000/test_for 得到如下页面 当我们将列表改为空的时候或者不是一个可迭代对象的时候会得到如下页面 提示与 Python 中的 for 循环不同的是for 标签只能一次性地遍历完列表中的元素不能中断break也不能跳过continue。 3.3 for标签嵌套使用 for 标签同样可以嵌套使用示例代码如下所示 def test01_for(request):#使用嵌套for标签依次遍历列表取值website Template({% for course in list01 %}div{% for coursename in course %}pb{{ coursename }}/b/p{% endfor %}/div{% endfor %})webname Context({list01: [[Django, Flask, Tornado], [c语言, Django官网, Pytho官网]]})html website.render(webname)return HttpResponse(html) 并配置路由映射关系如下所示 path(test01_for/, views.test01_for) 最后访问 127.0.0.1/test01_for 获得相应页面如下所示 3.4forloop变量详解 在 for 标签还提供了内置变量forloop我们可以访问这个变量的属性从而获取 for 循环迭代过程中的一些信息比如 forloop.first它的返回值是一个布尔值当 for 循环迭代第一个元素的时候返回 True 若有其余元素则返回的是 False。 forloop 的属性主要有以下几个 变量描述forloop.counter用来计数查看当前迭代第几个元素从1开始索引forloop.revcounter表示当前循环中剩余的未被迭代的元素数量从1开始索引forloop.first如果当前迭代的是第一个元素则为Trueforloop.last如果当前迭代的是最后一个元素则为Trueforloop.parentloop在嵌套循环中用来引用外层循环的 forloop 实例说明如下所示 def test_forloop(request):a Template({% for item in lists %}divpb{{ forloop.counter }}:{{ item }}/b/p/div{% endfor %})b Context({lists: [c语言, Django官网, Pytho官网]})html a.render(b)return HttpResponse(html)  # 数字与元素以 1:c语言 的形式出现 路由映射关系如下所示 path(test_forloop/, views.test_forloop), 最终效果如图所示 二.模板的加载与响应方式 那么我们如何加载模板并响应给浏览器呢 方法一通过 loader 获取模板通过 HttpResponse 进行响应 from django.http import HttpResponse from django.template import loader # 1.通过loader加载模板 t loader.get_template(模板文件名) # 2.将t转换成HTML字符串 html t.render(字典数据) # 3.用响应对象将转换的字符串内容返回给浏览器 return HttpResponse(html) 方法二使用 render 方法直接加载并响应模板 from django.shortcuts import render return render(request,模板文件名, 字典数据) 下面我们对上述两种方式分别来说明 #方式一 from django.http import HttpResponse from django.template import loader # 导入loader方法 from django.shortcuts import render #导入render 方法 def test_html(request): tloader.get_template(test.html) htmlt.render({name:乔治老师真厉害}) #以字典形式传递数据并生成htmlreturn HttpResponse(html) # 以 HttpResponse方式响应html #方式二 from django.shortcuts import render #导入reder方法 def test_html(request): return render(request,test.html,{name:乔治老师真厉害}) #根据字典数据生成动态模板 示例 templates 目录下创建 test.html 文件并在其中添加如下代码 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head bodyp stylefont-size:50px;color:green{{name}}/p /body /html 提示{{name}} 属于django模板语言的语法代表一个变量 在 BookStore/urls.py 文件的 urlpatterns 列表中为视图函数 test_html() 配置路由映射关系。 如下所示 from django.contrib import admin from django.urls import path from Bookstore import views # 这句代码自己加 ​ ​ urlpatterns [path(admin/, admin.site.urls),path(test/, views.test_html) ] 最后在urls.py文件同级目录创建一个views.py文件添加如下代码 # 方式一 from django.template import loader  # 导入loader方法 from django.shortcuts import render  # 导入render 方法 from django.http import HttpResponse ​ def test_html(request):t loader.get_template(test.html)html t.render({name: 乔治老师真厉害})  # 以字典形式传递数据并生成htmlreturn HttpResponse(html)  # 以 HttpResponse方式响应html 从上述过程我们不难体会 Django 视图函数的实现流程。 首先在 templates 文件夹中新建了 test.html 文件使用它作为模板文件 然后我们配置了视图函数的路由映射关系 最后定义了视图函数 test_html()。 三.render方法详解 renbder 方法的作用是结合一个给定的模板和一个给定的字典并返回一个渲染后的 HttpResponse 对象。通俗的讲就是把字典格式的内容加载进 templates 目录中定义的 HTML 文件最终通过浏览器渲染呈现。 rebder() 方法的完整参数格式如下所示 render(request, template_name, contextNone, content_typeNone, statusNone, usingNone) 以下每个参数的含义如下所示 request: 是一个固定参数用于生成响应的请求对象 template_name: templates 中定义的文件, 要注意路径名。比如 templates\appname\index.html, 参数就要写appname\index.html context: 要传入文件中用于渲染呈现的数据, 默认是字典格式 content_type: 生成的文档要使用的媒体格式类型。默认为 DEFAULT_CONTENT_TYPE 设置的值 status: http 的响应代码,默认是 200 using: 用于加载模板使用的模板引擎的名称。 今天的分享到这里就结束了感谢各位大大的观看各位大大的三连是博主更新的动力感谢谢谢谢谢谢谢谢谢各位的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业整站推广网络项目资源网站

目录使用远程仓库的目的将本地仓库同步到git远程仓库1.克隆远程仓库(clone)2.新建一个文件3.将工作区的文件添加到暂存区4.将暂存区的文件添加到本地仓库(commit)5.提交(同步)到远程仓库(push)6.远程库拉取到本地库(pull)7.团队协作开发和跨团队协作开发(开源项目)使用远程仓库…

做qq群排名的网站是否违规网站建设费大概多少钱

例如: 检查是否为空数组 、是否是空 不为空false 为空true、校验密码、校验手机号格式、校验邮箱格式、校验身份证号格式、校验值长度 不少于6位数、 电话号码加密 15288889999 转化为 152****9999、身份证号码加密、验证输入重量、金额等类型 例如 0.11 2.23…

河南 网站备案重庆渝北做网站哪里便宜

问题&#xff1a;vim下怎样在php文件中通过 命令自动缩排html代码&#xff1f;解决&#xff1a;1、先说下html自动缩排 我的vim是7.4版本&#xff0c;已经包含了html.vim之类的缩排插件&#xff0c;但是缩排的时候<body> <head> 没有进行缩排 在.vimrc中加入如下代…

建设网站的网站公告是什么php小程序开发完整教程

一、前言回顾&#xff1a;基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (上篇)在上一篇中&#xff0c;主要讲解了授权在配置方面的源码&#xff0c;从添加授权配置开始&#xff0c;我们引入了需要的授权配置选项&#xff0c;而不同的授权要求构建不同的策略方式&#xff0…

雄安免费网站建设哪家好价格低

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

网站建设优化服务行情网络服务器哪个最快

1、gateway集成swagger 1、为了简化实战过程&#xff0c;gRPC-Gateway暴露的服务并未使用https&#xff0c;而是http&#xff0c;但是swagger-ui提供的调用服 务却是https的&#xff0c;因此要在proto文件中指定swagger以http调用服务&#xff0c;指定的时候会用到文件 prot…

网站建设培训四川17858833595做网站

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 K-means聚类算法实现 技术细节 选取的数据集是sklearn.datasets里面的鸢尾花数据集&#xff0c;方便最后的算法评价。 根据手肘法&#xff08;即根据SSE代价函数&#xff09;得出最合适的k值。 此处思路是先根据E …

在模板网站建站好吗厦门seo顾问

题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 1111, 最大 NM 满足子矩阵中所有数的和不超过给定的整数 K。 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 M 个整数, 代表矩阵 A。 输出格式 一个整数代表答案。 输入输出样例 …

网站的前期推广深圳微信公众平台开发网站开发

最近在准备学校复试&#xff0c;刷一些老题旧题&#xff0c;在N诺oj和牛客网上都有提交。今天就总结部分题目&#xff0c;只写我觉得值得写的&#xff08;当然还有一些我不会写&#xff0c;不想去学了&#xff09;。 1、二进制数 输入输出格式 输入描述: 每行有一个数字n&#…

楚雄州城乡建设局网站乐陵森

澳大利亚政府&#xff0c;通过财政部&#xff0c;宣布正在努力引入一项监管框架&#xff0c;针对为澳大利亚居民和澳大利亚企业提供数字资产访问和持有服务的实体&#xff0c;将包括对所有数字资产中介的许可要求。 这些改革旨在解决已经确定的消费者风险&#xff0c;并支持数…

大连网站制作在线广西桂建云证件查询

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 当处理迷宫问题时&#xff0c;遗传算法提供了一种创新的解决方案。本文将深入探讨如何运用Python和遗传算法来解决迷宫问题。迷宫问题是一个经典的寻路问题&#xff0c;寻找从起点到终点的最佳路径。遗传算法是一…

太原建站培训app后期维护与运营成本

图像混合 1 理论-线性混合操作 其中α的取值范围为0~1之间,表示图像的所占的权重 2 混合处理函数addWeighted() 3 代码示例 Mat src1, src2, dst;src1 imread("./1.png");src2 imread("./2.png");if (!src1.data && src2.empty()) //判断图片是…

网站建设微信公众号网站主机ip查询

shell之read命令 简介例子 简介 Linux的read命令用于从标准输入读取数据。它通常用于在shell脚本中读取用户的输入并将其分配给变量。 read命令的语法如下&#xff1a; read [-options] [variable]read命令的选项包括&#xff1a; -d&#xff1a;指定输入行的结束标志。 -p…

商务网站建设中的必备功能上海推广网站

本章重点 1. 为什么使用文件 2. 什么是文件 3. 文件的打开和关闭 4. 文件的顺序读写 5. 文件的随机读写 6. 文本文件和二进制文件 7. 文件读取结束的判定 8. 文件缓冲区 1. 为什么使用文件 我们在前面的文章介绍了通讯录的程序&#xff0c;当通讯录运行起来的时候&#xff0c…

山西省财政厅门户网站三基建设抖音营销推广怎么做

1、git三个区域&#xff1a;工作区&#xff0c;暂存区&#xff0c;版本库 2、git文件状态&#xff1a;未跟踪&#xff0c;已跟踪&#xff08;新添加&#xff0c;未修改&#xff0c;已修改&#xff09; 如何查看暂存区和工作区文件状态&#xff1a;git status -s 3、查看版本记…

做网站需求文档asp.net网站发布到虚拟主机

1.实验环境 主机A和主机B连接到交换机&#xff0c;并与一台路由器互连 2.需求描述 主机A和主机B连接到交换机&#xff0c;并与一台路由器互连主机A和主机B设置为同一网段&#xff0c;网关设置为路由接口地址查看ARP相关信息&#xff0c;熟悉在PC和Cisco设备上的常用命令 3.推…

阜阳h5网站建设公司如何评估一个网站

1.mysql语句执行的步骤 客户端请求->连接器&#xff08;验证用户身份&#xff0c;给与权限&#xff09;查询缓存&#xff08;存在缓存则直接返回&#xff0c;不存在则执行后续操作&#xff09;分析器&#xff08;对sql进行词法分析和语法分析操作&#xff09;优化器&#x…

用kid做教育网站域名营销型官方网站

9月12日&#xff0c;中国移动第四届科技周“量子计算算法与应用”分论坛在北京成功举办&#xff0c;中国移动研究院院长黄宇红发表致辞&#xff0c;中国移动未来研究院院长崔春风全程主持。玻色量子作为光量子计算领域真机测试与场景应用的标杆企业应邀出席&#xff0c;玻色量子…

杭州下城区建设局网站wordpress 加入搜索

Spark Sql默认并行度 看官网&#xff0c;默认并行度200 https://spark.apache.org/docs/2.4.5/sql-performance-tuning.html#other-configuration-options 优化 在数仓中 task最好是cpu的两倍或者3倍(最好是倍数&#xff0c;不要使基数) 拓展 在本地 task需要自己设置&a…