轻量级web框架 Flask 02


1.模板
  • 模板中的语法规范
    1. 变量:
      1. 什么是变量?
        模板中的变量只是一种占位符,告诉模板该位置的值是从渲染时的那个数据渲染过来的
        2.语法:
        1.在试图处理函数中渲染模板,并带一些数据到模板中
        示例:return render_template(’***.html’,变量=值1~)
        2.在模板中获取对应变量的值放到指定位置处即可
        示例:{{变量名}}

    1. 过滤器:
      1. 什么式过滤器?
        允许在变量输出前改变变量的值
      2. 语法
        {{变量|过滤器}}
      3. Jinjia2 中常见过滤器
        Jinjia2:List of Builtin Filters

    1. 标签:
      1. 什么是标签?
        每个标签都是表示不同的服务端功能
      2. 语法:
        {% 标签内容 %}
      3. 常用标签
        1. if 基本标签
          {% if 条件 %}
          条件内容
          {% endif %}
          1. if else 结构:
            {% if 条件 %}
            满足条件运行的内容
            {% else %}
            不满足条件运行的内容
            {% endif %}
          2. if elif 结构:
            {% if 条件 %}
            满足条件1
            {% elif 条件2 %}
            满足条件2
            {% else %}
            不满足时运行的内容
            {% endif %}

        2. for 循环
          1. 语法
            {% for 变量 in 可迭代对象 %}
            变量是属于服务器端的输出使用{{}} 或 {%%}
            {% endfor %}
          2. 内置变量 - loop
            1. 在for循环中无需生命可以直接使用,表示本次循环中的相关信息
            2. 常用属性
              1. loop.index 表示当前循环的次数,从1开始记录
              2. loop.index0 表示当前循环的下标,从0开始 记录
              3. loop.first 表示当前是否为第一次循环 True
              4. loop.last 表示当前是否为最后一次循环 True

        3. macro 宏
          1. 作用:
            相当于是在模板中声明函数
          2. 语法:
            {% macro 名称(参数列表) %} 宏变量 {% endmacro %}
            调用:{{名称(参数列表)}}
          3. 独立文件中声明宏
            推介将宏放在统一的文件中
            1. 创建 macro.html 模板文件声明所有宏
            2. 在是有用的网页中,导入宏模板文件
              {% import ‘macro.html’ %}

    1. 静态文件
      1. 什么是静态文件?
        不与服务器做静态交互的文件一律是静态文件
      2. 静态文件的处理
        1. 在项目中创建Static 存放所有静态文件 图片 CSS JS 等
        2. 路径搜索需要通过/static/搜索

from flask import Flask,render_template
# 实例化Flask对象
app = Flask(__name__)

# 定义访问路径/01-var,实现变量在模板中的显示效果
@app.route('/01-var')
def var_views():
    # 准备渲染到 01-var.html 模板中 name:laowang age:30
    return render_template('02-var.html',name='laowang',age=30)

# exer 小练习
@app.route('/')
def var_index():
    return render_template('02-exer.html',name = '<绿光>',ci = '宝强',qu = '羽凡',sing = '乃亮')

# 定义访问路径 02-var, 验证允许放在模板中的变量类型有哪些
@app.route('/02-var')
def var2_index():
    name = 'laowang' # 字符串
    age = 30 # 数字
    # 元组 列表 字典
    tup = ('抽烟','喝酒','保健')
    lit = ['赵丽颖','赵萌萌','葛优']
    dic = {'王夫人':'WFR','李二狗':'LEG','儿子':'EZ'}
    # 对象
    person = Person()
    person.name = '小毕'
    return render_template('02-var2.html',name = name,age = age,tup = tup,lit = lit,dic = dic,person = person)

class Person(object):
    name = None
    def say(self):
        return 'Hello %s'%self.name

# 定义路由03-if  使用if标签
@app.route('/03-if')
def if_views():
    name = '小可乐'
    age = 4
    return render_template('03-if.html',params = locals())

#  定义路由04-for 使用for标签
@app.route('/04-for')
def for_view():
    lit = ['小可乐','小雪碧','美年达','养乐多']
    dic = {'KL':'小可乐','XB':'小雪碧','MND':'美年达','YLD':'养乐多'}
    return render_template('04-for.html',params = locals())

# 定义路由05-macro  使用宏
@app.route('/05-macro')
def macro_view():
    lit = ['阿萨姆','巧克力','奶茶']
    return render_template('05-macro.html', params = locals())

# 定义路由05-exer-macro 练习宏模板文件
@app.route('/05-exer-macro')
def exer_macro_view():
    lit = ['小可乐', '小雪碧', '美年达', '养乐多']
    return render_template('05-exer-macro.html', params = locals())

# 定义路由06-static 熟悉静态文件的使用
@app.route('/06-static')
def static_views():
    return render_template('06-static.html')


if __name__ == '__main__':
    app.run(debug=True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值