这个学习杂记主要不是分享经验,更多是记录下falsk的体验过程,以后做东西在深入研究,因为django之前用的时间比较长,所以很多概念都是一看而过,做个试验了解下flask的功能。
flask中使用是jinja2 模板,和django自带的模板很类似,但又比django的模板强大,提供了更多有用的工具,基本使用上基本都是一致的。
写了一个小案例,把模板渲染的基本步骤和变量传递的基本使用练习了下。
jinjia2 模板文档 http://jinja.pocoo.org/docs/dev/
flask-bootstrap 文档 http://pythonhosted.org/Flask-Bootstrap/
代码目录结构:
代码清单:
template_jinjia2.py
#-*- coding: utf-8 -*- #python2.7x #author: orangleliu@gmail.com 2014-12-17 #template_jijia2 ''' 模板的简单使用和熟悉 ''' from flask import Flask, render_template from flask.ext.bootstrap import Bootstrap app = Flask(__name__) bootstrap = Bootstrap(app) @app.route('/') def index(): ''' 测试下jinja2 模板常用的变量表示方式 ''' mydict = {"name": "orangleliu"} mylist = ["apple", "orange", "banana"] class myobj: def sayhello(self): return "yes I am a method!" #这里使用了一个 flask-bootstrap 来做为模板基本风格 return render_template('index.html', mydict=mydict, mylist=mylist,\ myobj=myobj) if __name__=="__main__": app.run(debug=True)
index.html
{% extends "bootstrap/base.html" %} <!-- 整体的页面风格可以通过基本模板来继承 --> {% block content %} <h1> Hello Flask template</h1> <a href="http://jinja.pocoo.org/docs/dev/"> Jinja2 文档地址</a> <h3>变量渲染</h3> <p>value of dict: {{ mydict["name"]}}</p> <p>value of list: {{ mylist[1] }}</p> <p>method of obj: {{ myobj().sayhello() }} </p> <p>filter of jinja2: {{ mylist[0]|upper }}</p> <h3>流程控制语句</h3> <p> {% if user %} Hello, {{ user }} {% else %} Hello, Stranger! {% endif %} </p> <!--公共的部分可以写到一个页面中,然后引用--> {% include 'bottom.html' %} {% endblock %}
bottom.html
<p> Copyright orangleliu 2014</p>
运行
查看浏览器
有了模板之后,我们就可以处理各种带有参数的get post请求,表单请求,数据操作了。
本文出自 “orangleliu笔记本”博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41990573
作者orangleliu 采用署名-非商业性使用-相同方式共享协议