django学习~第二篇

一 模板
   1 同级目录建立 templates 在templates里创建html
       <h1>{{ hello }}</h1>->hello.html
   2 修改setting里的路径
      'DIRS': [BASE_DIR+"/templates",],
   3 添加views方法
    from django.shortcuts import render

    def hello(request):
    context = {}
    context['hello'] = 'Hello World!' //字典赋值
     return render(request, 'hello.html', context) render
     相关函数随后进行讲解 今天主要研究模板

二 模板基本语法
    1 条件判断语句
    {% if athlete_list and coach_list %} //多个条件用 and 和not连接
    ... display 1
   {% elif condition2 %}
   ... display 2
   {% else %}
   ... display 3
   {% endif %}
  2 for循环语句 循环变量取值
   <ul>
   {% for athlete in athlete_list ( reversed)%} 反向迭代
   <li>{{ athlete.name }}</li>
   {% endfor %}
   </ul>
  3 {# 这是一个注释 #} 注释语句用法
  4 {{ name|lower }} 过滤器进行二次处理
三 包含 语法
  include 标签
  {% include "nav.html" %} 包含基础依赖页 这是工程的普遍设计方法 能防止大量的代码重复
  { %block mainbody %}
  中间为可替换部分
  { % endblock %}
 这样在子页显示的父页的基础模块和子页的变更模块
四 创建一个base界面
  <html>
  <head>
 <meta charset="utf-8">
 <title>菜鸟教程(runoob.com)</title>
 </head>
 <body>
 <h1>Hello World!</h1>
 <p>菜鸟教程 Django 测试。</p>
  {% block mainbody %}
  <p>original</p>
  {% endblock %}
  </body>
  </html>
五 修改之前的hello.html
  {% extends "base.html" %}//继承base模块
 
  {% block mainbody %}<p>//进行重构
  <p>继承了 base.html 文件</p>
  {% endblock %}
  怎么样,其实和子类继续父类很像呢 只不过现象话了
六 补充
  如果模板提示找不到
  采用os.path.join 拼接下就行

猜你喜欢

转载自www.cnblogs.com/danhuangpai/p/9122230.html