加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

08-Django 模板

发布时间:2020-12-20 10:49:17 所属栏目:Python 来源:网络整理
导读:需要教程的请关注个人微信公众号 ? 模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容: 静态内容:css,js,image 动态内容:用模板语言语言动态的产生一些网页内容 模板文件的使用 在项目目录下创建模板文件夹templates 配

需要教程的请关注个人微信公众号


?

模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容:

  1. 静态内容:css,js,image
  2. 动态内容:用模板语言语言动态的产生一些网页内容

模板文件的使用

  1. 在项目目录下创建模板文件夹templates
  2. 配置模板目录,在setting.py?里面有一个TEMPLATES项DIRS
‘DIRS‘: [os.path.join(BASE_DIR,‘templates‘)],# 配置模板目录,默认是[],里面是空的 BASE_DIR:获取项目的绝对路径,与templates进行拼接 
  1. 创建html文件:在templates下创建html文件
  2. 使用模板文件
    4.1.加载模板文件:去模板目录下获取html文件的内容,得到一个模板对象
    4.2.定义模板上下文:项模板文件传递数据
    4.3.模板渲染:得到一个标准的html内容
def index(request):  # return HttpResponse("hello django")  # 使用模板文件  # 1.加载模板文件,返回的是模板对象 temp = loader.get_template(‘booktest/index.html‘)  # 2.定义模板上下文:给模板文件传递数据 context=RequestContext(request,{}) context={}  # 3.模板渲染 res_html=temp.render(context)  # 4.返回给浏览器 return HttpResponse(res_html) 

上面的方法不够灵活,如果还有页面,又要重新写一遍,自己封装一个函数

def my_render(request,template_path,context_dict): temp = loader.get_template(template_path) # context=RequestContext(request,context_dict) context=context_dict res_html=temp.render(context) return HttpResponse(res_html) def index(request): return my_render(request,‘booktest/index.html‘,{}) 

模板参数传递

views.py: return my_render(request,‘booktest/index.html‘,{‘now‘:now,‘list‘:list(range(1,10))}) index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h>您好,这是一个模板文件</h><br/> now变量:<br/>{{now}}<br/> 遍历变量:<br/> <ul> {% for i in list%} <li>{{i}}</li> {% endfor %} </ul> </body> </html> 

变量写在{{模板变量名}}中,代码段写在{% %}中

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读