2024年Python最全(四)Django学习——模板标签定义及语法:for循环,2024年最新php架构师面试题

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

(1)模板标签重要概念:

1.定义:标签在渲染的过程中提供任意的逻辑

注意:(这个定义是刻意模糊的。 例如,一个标签可以输出内容,作为控制结构,例如“if”语句或“for”循环从数据库中提取内容,甚至可以访问其他的模板标签。)

2.标签语法: 由 {% 和 %} 来定义的,例如:{%tag%} {%endtag%}

(2)常用模板标签讲解及使用:

1.模板标签中的for循环:

**①music应用下的views.py文件

模拟从数据库中得到的数据:**

def test01(request):

li=[“第一条数据”, “第二条数据”, “第三条数据”, “第四条数据”, “第五条数据”, “第六条数据”,“第七条数据”, “第八条数据”,]

return render(request,“test02.html”,context={“li”:li})

**②对应的前端html模板文件test02.html

在此模板中使用模板标签中的for循环**

Title

{#如果直接使用模板变量这样是列表形式在前端显示:#}

{{ li }}

{#使用模板标签中的for循环遍历之后就可以使用html对其进行排版了:#}

{% for foo in li %}

{{ foo }}

{#foo是循环出来的每一条数据,通过循环对每条数据都进行排版!#}

{% endfor %}

③前端实现:

在这里插入图片描述

2.模板标签中的if判断:

①music应用下的views.py文件

{#模拟从前端接收到的用户登录与否的状态信息!#}

def test01(request):

b=True

return render(request,“test02.html”,context={“b”:b})

**②对应的前端html模板文件test02.html

在此模板中使用模板标签中的for循环**

Title

{#简单实现注册登录以及登录成功的判断:#}

{#模拟用户浏览网页时,如果登录的话显示用户名名;如果未登录的话显示注册 登录。#}

{% if b %}

欢迎小明

{% elif b == “123” %} {#只是演示下如何进行多重判断,在此处无实际用处!#}

啊哈

{% else %}

注册 登录

{% endif %}

③前端实现:

在这里插入图片描述

3.模板标签中的页面跳转:

①music应用下的urls.py文件(在这里我们可以给相应的url路径取个name属性值,这个值是唯一的!!!)

from django.contrib import admin

from django.urls import path

from . import views

urlpatterns = [ #子路由

path(‘test01/’,views.test01),

path(‘sing/’,views.sing,{“name”:“小明”,“age”:18},name=“bb”),

]

②对应的前端html模板文件test02.html

Title

{#实现本地网页的跳转:#}

{#第一种方法:#}

{#第一个例子:跳转到首页#}

首页1 {# 如果直接写首页路径,今后万一咱的域名改变了,那么所有跳转的都要跟着一个个改,太麻烦啦! #}

首页2 {# 这种方法就避免了刚刚说的情况! /代表的就是当前的ip地址加端口号:http://127.0.0.1:8888 #}

{#第二个例子:跳转到带有路径的html界面#}

跳转1 {# 这样也可能会出现刚刚说的那种情况 #}

跳转2 {# 这样不会出现刚刚说的那种情况,但是如果咱对应url的路径进行了改变,也会产生与刚刚类似的情况#}

{#第二种方法: 不管域名或者路径如何改变,name值不变就不需要改变,简单#}

跳转3 {#通过url的name属性值跳转到对应的页面!#}

4.模板标签中的开启和关闭自动转义(是否让html标签在前端中生效!):

①music应用下的views.py文件

def test01(request):

html1=‘

拉拉

html2=‘

拉拉

html3=‘

拉拉

html4=‘

拉拉

return render(request,“test02.html”,context={“h1”:html1,“h2”:html2,“h3”:html3,“h4”:html4})

②对应的前端html模板文件test02.html

Title

{#如果我们使用过滤器的话,那么一次只能识别一个,如果数量非常多的话,工作量就太大了!#}

{{ h1|safe }}

{#所以模板标签为我们解决了这个问题,不管需要开启自动转义的有多少个,位置分的有多散,只要将其包裹在下面的两行代码之内,都可开启其的自动转义!#}

{% autoescape off %}

{{ h1 }}

{{ h2 }}

{{ h3 }}

{% endautoescape %}

4.模板标签中的url携带参数传递

(前面通过转换器可以实现借由url进行参数传递;现在模板标签也可以进行参数传递!)

在这里插入图片描述

在这里插入图片描述

5.模板标签中的注释:

在这里插入图片描述

2.模板的继承与引用

========================================================================

网站中有些不同的页面当中有些数据是完全一模一样的;

有些数据是不一样的但是前端的排版格式是一模一样的

Django模版引擎中最强大也是最复杂的部分就是模版继承了。 模版继承可以让你创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks 。

(1)首先,看一个例子:(同一个站点下有三个html模板,样式如下!!!)

①第一个html模板:

a_first.html文件

Title
头部
内容一
底部

前端实现:

在这里插入图片描述

②第二个html模板:

a_second.html

Title
头部
内容二
广告
底部

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值