美文网首页
04-django-模板

04-django-模板

作者: B头 | 来源:发表于2018-04-28 17:56 被阅读11次

模板

前言!!django2.0的版本,如果需要对app下面添加模板的话,直接在对应的app下面直接新建文件夹templates就可以了

  1. 什么是模板?

    1. 模板,不仅仅是一个html文件
  2. 模板文件的使用

    1. 创建模板文件夹

      1. 随便取?
    2. 配置模板目录

      1. 修改项目里面的settings.py文件,然后找到template的那一块代码,
        注意请配合BASE_DIR,使用os.path.join(BASE_DIR,'templates')来使用,来定位模板的具体目录位置
    3. 相应的,在templates目录底下,需要建立想用对应的视图(控制器)的名字的文件夹

  3. 使用模板文件(请参考等下的截图文件.png)(github附源码)

    1. 加载模板文件
      去模板目录下面获取html文件的内容,得到一个模板对象
    2. 定义模板上下文
      向模板文件传递数据
    3. 模板渲染
      得到一个标准的html内容
  4. (多余的步骤............................)自定义一个my_render(基于前面的django2.0前面的!)

    def my_render(request,template_path,context_dict={}):
        context = RequestContext(request,{})
        res_html = temp.render(context)
        return HttpResponse(res_html)
    
  5. 最终版本

    def index(request):
        return render(request,'booktest/index.html')
    
  6. 使用模板变量

    1. 变量 {{ x }}
    2. 循环语句
      {%for i in x %}
      xxxx
      {%endfor%}
  7. 自己稍微想象一下,自己是这个MTV里面的功能分布

    1. T模板,毫无疑问,就是负责编写html标签的常见文件,但是里面可以循环输出变量等等这些.!
    2. V视图,其实就是控制器,负责调用T模板和M模型数据库,问题,Model写得多吗?我记得!
      就是编辑字段,还有一些增删改查,估计,还有原子操作等等这些.!还有url配置
    3. 所以,V可能是编写的东西比较多,就好比,刚刚的调用render应该也是V去调用的吧?看看先.
  8. 首先列出所有数据

    1. 拿数据,肯定就涉及到Model了,想想自己的记忆力,想想,首先是,一堆的派生类,
      肯定就对应不同的数据库表,直接实例化某一个派生类,然后直接调用方法,
      objects.all()
      重要,哎,忘记了,应该说,直接采用派生类的类名就可以了,意思直接调用 派生类.objects.all()

    2. 友情提示:
      就是操作这个派生类对应的数据库表,可以直接调用这个实例化这个派生类里面的实例属性就是操作字段了,
      然后就是使用save和delete就可以了.

    3. 然后就是让V调用render的过程中顺便传递变量,传递上面获取到的所有数据.

    4. 然后在T上面循环输出.应该说按一定的布局去显示数据.

    5. 还需要,定义一个detail函数,因为需要通过id来查询信息并且返回.

      1. 在自己的应用里面的url里面,修改一下,修改一个正则,(^books/(\d+))
        这样子,后面的参数才可以传递到>>>>>>>模板???
    6. V总是操作render去渲染模板和传递的变量.

相关文章

  • 04-django-模板

    模板 前言!!django2.0的版本,如果需要对app下面添加模板的话,直接在对应的app下面直接新建文件夹te...

  • 领导力培训和发展行业的电子学习模板

    模板一: 模板二: 模板三: 模板四: 模板五: 模板六: 模板七: 模板八: 模板九: 模板十: 模板十一: 模...

  • 有了这套画册模板设计之路不再迷茫!超赞!

    indesign模板介绍 时尚写真画册模板、婚礼画册模板、摄影写真画册模板、 人物展示画册模板、服装展示画册模板;...

  • 08_模板层补充

    模板层 一、模板层导入与继承 模板导入: 先码一个好看的模板 语法:{% include '模板名称' %} 模板...

  • 《PHP Learning》模板引擎

    《PHP Learning》模板引擎 模板处理使用正则处理模板替换规则保存模板编译结果 模板使用 自定义模板引擎 ...

  • C++模板编程/泛型编程

    模板分类 模板分为函数模板与类模板两类。 函数模板 模板声明 模板定义 例如 函数模板实参类型不一致问题 参数推导...

  • 14/15

    约束模板友元 模板类的外边定义一个模板函数,在模板类中将模板函数具体化为模板类的友元函数 非约束模板友元 模板类中...

  • ★07.关于类模板

    简述 类模板:是类类型的模板,如:vector。 模板类:类模板的实例化,如:vector 。 类模板的模板参数无...

  • 【C++】C++学习笔记之十六:模板特化

    模板特化分为两种: 模板全特化 模板偏特化 模板全特化 模板偏特化

  • thymeleaf(五) ____文本模板模式

    thymeleaf中的三个文本模板 text模板,javascript模板,css模板是文本模板.而thymel...

网友评论

      本文标题:04-django-模板

      本文链接:https://www.haomeiwen.com/subject/kyfnlftx.html