zoukankan      html  css  js  c++  java
  • 08-Django 模板

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


     

    模板:产生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>
    

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

  • 相关阅读:
    我理解的优秀软件工程师
    Hello 博客园!
    线程安全与可重入函数之间的区别与联系
    linux-粘滞位的使用
    死锁产生的四个必要条件及处理死锁的策略
    数据结构—位图
    Linux下进度条的简单实现
    Linux-find命令
    Linux文件3个时间点(access time,modify time,change time)
    各种排序算法的实现、总结
  • 原文地址:https://www.cnblogs.com/wysk/p/11450930.html
Copyright © 2011-2022 走看看