zoukankan      html  css  js  c++  java
  • Django模板技术

                  Django模板技术

                                         作者:尹正杰 

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.模板概述

    1>.模板的作用

      如果使用react实现前端页面,其实Django就没有必须使用模板,它其实就是一个纯后台服务程序,接收请求,响应数据,前后端接口设计就可以是纯粹的Restful风格。
    
      模板的目的就是为了可视化,将数据按照一定布局格式输出,而不是为了数据处理,所以一般不会有复杂的处理逻辑。模板的引入实现了业务逻辑和显示格式的分离。这样,在开发中,就可以分工协作,页面开发完成页面布局设计,后台开发完成数据处理逻辑的实现。
      Python的模板引擎默认使用Django template language (DTL)构建。

    2>.模板配置

    在settings.py中,设置模板项目的路径:
      DIRS:
        列表,定义模板文件的搜索路径顺序。os.path.join(BASE_DIR,
    'templates')即项目根目录下templates目录,请构建这个目录。     BASE_DIR是项目根目录,os.path.join(BASE_DIR, 'templates')就是在manage.py这一层建立一个目录templates。这个路径就是以后默认找模板的地方。
      APP_DIRS:
        是否运行在每个已经安装的应用中查找模板。应用自己目录下有templates目录,如下图所示的user
    /templates。如果应用需要可分离、可重用,建议把模板放到应用目录下。    注意:
      这里必须给出DIRS,
    'APP_DIRS'为True,所以Django会搜索所有注册App的模板路径,但是还不能找到我们定义的index.html的话,会报错TemplateDoesNotExist

    二.模板渲染

    1>.模板页

    2>.模板处理

    3>.render快捷渲染函数

     

    三.DTL语法

     

    四.小试牛刀

  • 相关阅读:
    VueJS promise
    VueJS vue-router-keep-alive
    VueJS电商管理系统(Element-UI)B站学习笔记
    VueJS 对象更新
    CSS 类名选择器
    VueJS 全局导航守卫
    VueJS v-model 双向绑定
    JS 高阶函数 filter/map/reduce
    VueJS filters过滤器
    UVA1601-双向广度优先搜索
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/12037825.html
Copyright © 2011-2022 走看看