Django(二)模板

Django(二)模板,第1张

概述一、模板概念 1.Django通过模板动态生成html 2.模板的加载位置 模板一般建立在templates文件夹中,全局路径的设置在settings.py中 ? DIRS:决定了整个项目的模板路径的位置 ? APP_DIRS:决定每个应用的模板路径是否可用,是否在应用的templates目录中寻找模板 TEMPLATES = [ { ‘BACKEND‘: ‘djang 一、模板概念 1.Django通过模板动态生成HTML 2.模板的加载位置

模板一般建立在templates文件夹中,全局路径的设置在settings.py中

? Dirs:决定了整个项目的模板路径的位置

? APP_Dirs:决定每个应用的模板路径是否可用,是否在应用的templates目录中寻找模板

TEMPLATES = [    {        BACKEND: django.template.backends.django.DjangoTemplates,Dirs: [os.path.join(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,],},]
3.模板引擎

Django框架使用Django的模板引擎,本质是一个类,实现相关功能,继承自BaseEngine

可以解释模板变量和模板标签

二、模板变量 1.语法

HTML中直接访问变量:{{变量名}}

点语法访问复杂类型变量,例如List,dict,obj类型的变量

?只能用.访问,不支持负数

from django.shortcuts import render


def pass_dict(request):
data = {
‘name‘:‘apple‘,
‘price‘:12.5,
‘color‘:‘yellow‘
}
return render(request,‘var/var_demo.HTML‘,{‘mydict‘:data})


class Cake:
def __init__(self,name,price):
self.name = name
self.price = price

def order_cake(self):
return ‘订购一个名字为:‘+str(self.name) +‘价格为:‘+str(self.price)+‘的蛋糕‘


def pass_object(request):
cake = Cake(‘生日蛋糕‘,12.4)
return render(request,‘var/var_object.HTML‘,{‘cake‘:cake})


def pass_List(request):
fruits = [‘apple‘,‘火龙果‘,‘香蕉‘,‘菠萝‘]
return render(request,‘var/var_List.HTML‘,{‘fruits‘:fruits})
<!DOCTYPE HTML><HTML lang="en"><head>    <Meta charset="UTF-8">    <Title>Title</Title></head><body>    水果名称:{{ mydict.name }} <br>    水果价格: {{ mydict.price }} <br>    水果颜色: {{ mydict.color }}<br></body></HTML>

<!DOCTYPE HTML><HTML lang="en"><head>    <Meta charset="UTF-8">    <Title>Title</Title></head><body>    蛋糕名字:{{ cake.name }}    蛋糕价格:{{ cake.price  }}    调用蛋糕的无参(除了self参数)方法:{{ cake.order_cake }}</body></HTML>
<!DOCTYPE HTML><HTML lang="en"><head>    <Meta charset="UTF-8">    <Title>fruits</Title></head><body>    列表的第一项:{{ fruits.0 }}    列表的第三项:{{ fruits.2 }}</body></HTML>

总结

以上是内存溢出为你收集整理的Django(二)模板全部内容,希望文章能够帮你解决Django(二)模板所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1195663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存