其實關於什麼用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
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中的佼佼者,仍是比較好用,也推薦使用。