flask+mako+peewee(上)

其实关于什么用flask搭建一个后台博客啥的跟着官方文档作一遍就好了。感受啥都有我这里就不赘述了只是记录一个笔记,由于稍微有几个地方有点坑。css

目标:作了一个简易页面给电商的同事用来添加商品html

 

首先是安装flask和mako。python

这里注意不只要安装mako还要安装mako针对flask的扩展才能正常使用。web

Flask==0.10.1
flask-mako==0.3
flask-peewee==0.6.6
mako==1.0.3

使用pip install一个一个安装或者使用pip install -r 安装配置文件这个无所谓,这里只是列出须要安装的包flask

 

下面正式进入项目。bootstrap

贴出应用内的__init__配置:app

from flask import Flask
from flask.ext.mako import MakoTemplates

app = Flask(__name__)
mako = MakoTemplates(app)
import kepler.app.views.jd_view.stock # noqa
import kepler.app.views.jd_view.balance # noqa
import kepler.app.views.jd_view.address # noqa
import kepler.app.views.jd_view.idmap # noqa
import kepler.app.views.jd_view.after_sale # noqa

讲解一下配置,首先是一个flask_app这个没啥好说的,下面那个mako是我使用mako对flask的扩展,使用这个扩展必须在app里初始化,不然就会失败。框架

__init__这个初始化文件里面还会有一些从views文件夹里面引入的文件,这是帮助其余views在引入了__init__文件里的app构造路由的时候,路由能正确的找到对应的函数。函数

 

这样配置完毕以后,在templates文件夹下面就能够正常使用模版文件了,在views文件夹下面的函数使用render_template函数也能正常找到对应的模版。ui

这里贴上app内的文件目录:

具体的mako使用方法我这里就不赘述了反正模版引擎的使用大多大同小异,参考官方文档:http://www.makotemplates.org

这里还要提一下关于flask的静态文件寻址的问题,当咱们使用了模版引擎而且使用了flask框架以后,在templates里面的文件的寻址方式就再也不是普通的方式。全部的路由规则都将由flask进行控制。当你试图在templates里面去引用static里面的某个css的时候,直接写文件路径的相对对路径是没法找到对应的文件的。这点你们尝试过的想必都很是清楚。稍微在flask文档里面寻找一下能了解到,flask针对静态文件寻址提供好了现成的方法。

下面引用官方文档的描述:http://flask.pocoo.org/docs/0.10/quickstart/#about-responses

 

Static Files

Dynamic web applications also need static files. That’s usually where the CSS and JavaScript files are coming from. Ideally your web server is configured to serve them for you, but during development Flask can do that as well. Just create a folder called staticin your package or next to your module and it will be available at /static on the application.

To generate URLs for static files, use the special 'static' endpoint name:

url_for('static', filename='style.css') 

The file has to be stored on the filesystem as static/style.css.

 

因此当你的一个html模版须要使用到css,js,img之类资源的使用,进行静态文件寻址只须要

<link href="${url_for('static', filename='css/bootstrap.min.css')}" rel="stylesheet">

这里的寻址路径就是static文件夹下面,css/bootstrap.min.css文件,其余的使用静态文件的方式与之大同小异。

 

我将在下一篇介绍单独介绍一下peewee的使用。我的以为peewee能够说是flask orm中的佼佼者,仍是比较好用,也推荐使用。

相关文章
相关标签/搜索