5.五、使⽤包含继承,设计我前端 的样式,从前端向后传递数据

1:前端技术加强-html模板应⽤

页⾯的继承(⽗模板与⼦模板),扩展及导

 {% include 'navbar.html' %}

 {% extends 'main.html' %}

 {% block content %}

 <h1>主页home模板</h1>

 {% endblock %}




步骤

1、建⽴navbar.html⽂件,是导航条

2、建⽴main..html,主页,包括导航和

不同的块,等⼦模板覆盖。

3、建⽴home.html,继承主页,把预留的

块填写上⾃⼰的内容

4、建⽴room.html⽂件,同上。

5、def home(request):

return render(request, "home.html", context)

def room(request):

return render(request, "room.html")

模板(template)包含、继承与 {% block %} 的⽤法

 {% include %} 标签

 在项⽬的开发过程中,有很多页⾯的某些内容都是⼀样的,⽐如页⾯的导航条,页

脚的部分,在每个页⾯都是⼀样的,我们 将相同的代码,抽出来,使⽤时⽤{%

include %}标签。

 {% extends "main.html" %} 的意思是继承 main.html页⾯的代码,使⽤继承⽅法的

话,这个代码⼀定要放页⾯的第⼀⾏。

 代码{% block xxx %}{% endblock %} ⾥的xxx可以⾃由命名,这个代码意思是告诉模

板引擎:这个位置我要预留给别⼈放东西的。这个部分⼦模板可以重载,每个{%

block%}标签所要做的是告诉模板引擎,该模板下的这⼀块内容将有可能被⼦模板覆


⼆:通过url中参数传递进⼊不同页⾯

 总结:从后端通过响应往前端页⾯传递数据使⽤【返回值】 render(,,context)

 从前端通过url参数/<str:pk> —->对应的⽅法的【⼊参】 room(request,pk)

 1、urls.py

 path('room/<str:pk>/', views.room,name=‘room')

 2、views.py

 def room(request,pk):

 3、home.html

 {% for room in rooms %}

 <h3>{{room.id}} -- <a href="/room/{{room.id}}">{{room.title}}</a></h3>

 {% endfor %}

三.通过url中参数传递进⼊不同细节

4、获取所有的数据包括id,并改为Article类(显⽰⽂章)views.py中

 rooms = models.Article.objects.values()/all()

 5、在返回的 判断符合 的id后将这个 id的内容显⽰在页⾯中。

 def room(request, pk):

room=models.Article.objects.get(id=pk)

context={'room':room}

 return render(request, "room.html", context)

6、room.html

 <h1>{{room.title}}</h1>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容