django2使用html模板,Django(二)模板

一、模板概念

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})

Title
水果价格: {{ mydict.price }}
水果颜色: {{ mydict.color }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值