访问模型中的属性或者是字典,可以通过{{params.property}}的形式,或者是使用{{params['age']}}这样的形式…
提交和显示博客文章 app/models.py 文章模型 class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) body = db.Column(db.Text) timestamp = db.Column(db.DateTime,index=True,default=datetime.utcnow) author_id=db.Column(db.Integer,db.…
C++对模板类的支持比较灵活,模板类的参数中除了可以有类型参数,还可以有普通参数.例如: template<typename T, int N> class Demo{ }; N 是一个普通参数,用来传递数据,而不是类型,它与常见的函数中的参数一样,可以在类体中使用.这称为模板中的函数式参数. T 用来传递数据的类型,N 用来传递数据的值,数据的值和类型都可以参数化,这是典型的面向对象编程思想. 为了演示模板中的函数式参数,下面我们来定义一个数组类: #include <iostream…
jinja2模板中有自带的过滤器,有需要直接拿来使用.也可以自己定义过滤器 在过滤器中,有一些常见得操作及关键字.有对字符串的操作,还有对大小写转换的操作.还有对list的操作 过滤器的语法 {# 过滤器调用方式 {{ 变量 | 过滤器的名称 }} #} 这里用到了注释模板中的注释 首先整理一下关键字 字符串: 1.对大写转换为小写,lower.相对的,那么就有小写转换为大写,upper. 那么还有是首字符大写,captialize,这个单词在字符串的操作中出现过 2.还有一个转义.如果在输出中…
这个学习杂记主要不是分享经验,更多是记录下falsk的体验过程,以后做东西在深入研究,因为django之前用的时间比较长,所以很多概念都是一看而过,做个试验了解下flask的功能. flask中使用是jinja2 模板,和django自带的模板很类似,但又比django的模板强大,提供了更多有用的工具,基本使用上基本都是一致的. 写了一个小案例,把模板渲染的基本步骤和变量传递的基本使用练习了下. jinjia2 模板文档 http://jinja.pocoo.org/docs/dev/ flas…
评论在数据库中的表示 由于评论和2个模型有关系,分别是谁发了评论,以及评论了哪个文章,所以这次要更新数据库模型 models.py 创建用户评论数据库模型 class Comment(db.Model): __tablename__ = 'comments' id = db.Column(db.Integer, primary_key=True) body = db.Column(db.Text) timestamp = db.Column(db.DateTime,index=True,defa…
大部分的模板引擎都是支持过滤器功能的,jinja2也不例外,它提供了丰富的内置过滤器,但是有些时候还是没办法满足我们的需求,好在jinja2支持自定义过滤器,下面是一个简单的例子. 下面的例子完成了自定义过滤器,包括过滤器有一个参数和多个参数的使用 test.py# -*- coding:utf-8 -*-__author__ = 'guoqianqian' from flask import Flaskfrom flask_script import Managerfrom flask imp…
获取代码覆盖报告 安装代码覆盖工具 pip install coverage manage.py 覆盖检测 COV = None if os.environ.get('FLASK_COVERAGE'): import coverage COV = coverage.coverage(branch=True,include='app/*') COV.start() @manager.command def test(coverage=False): '''启动单元测试''' if coverage…
jinja2模版 from flask import Flask,render_template app = Flask (__name__) @app.route ('/<name>') def index(name): return render_template('index.html',name=name) @app.route ('/user/<name>') def user(name): return render_template('user.html',name=…
部署流程 manage.py 部署命令 每次安装升级只需运行deploy命令即可完成操作 @manager.command def deploy(): """执行部署任务""" from flask_migrate import upgrade from app.models import Role, User # 把数据库迁移到最新修订版本 upgrade() # 创建用户角色 Role.insert_roles() # 让所有用户都关注此用户…