flask+mako+peewee(上)
其实关于什么用flask搭建一个后台博客啥的跟着官方文档做一遍就行了。感觉啥都有我这里就不赘述了只是记录一个笔记,因为稍微有几个地方有点坑。
目标:做了一个简易页面给电商的同事用来添加商品
首先是安装flask和mako。
这里注意不仅要安装mako还要安装mako针对flask的扩展才能正常使用。
Flask==0.10.1
flask-mako==0.3
flask-peewee==0.6.6
mako==1.0.3
使用pip install一个一个安装或者使用pip install -r 安装配置文件这个无所谓,这里只是列出需要安装的包
下面正式进入项目。
贴出应用内的__init__配置:
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函数也能正常找到对应的模版。
这里贴上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中的佼佼者,还是比较好用,也推荐使用。
flask+mako+peewee(上)的更多相关文章
- flask+mako+peewee(下)(解决了Error 2006: MySQL server has gone away)
这篇主要介绍在这次项目中使用的peewee 文档地址:http://peewee.readthedocs.org/en/latest/index.html 首先我们要初始化一个数据库连接对象.这里我使 ...
- flask在windows上用mod_wsgi部署
flask在windows上用mod_wsgi部署也是折腾了不少时间,下面就总结下. 首先下载Apache httpd,我认为Apache Hans比较好: 一般这种情况下,你的python环境已经安 ...
- Flask入门文件上传flask-uploads(八)
1 视图传递多个参数 (1) 普通传参 : 关键字参数传递 return render_template('模板名称.html',arg1=val1,arg2=val2...) (2) 字典传参 : ...
- Flask—04-文件上传与邮件发送(自带优化)
文件上传与邮件发送 可以按照标题分别直接粘贴对应的文件夹,运行直接用: 原生上传 模板文件 <form method="post" enctype="multipa ...
- flask文件的上传和下载
from werkzeug.utils import secure_filename from flask import Flask,render_template,jsonify,request i ...
- Flask -- 请求、上传文件、Cookies
请求对象 from flask import request request.method #值为form表单提交的method 'POST'. 'GET'等 #如果值为'POST'或'PUT',则可 ...
- flask jQuery ajax 上传文件
1.html 代码 <div> <form id="uploadForm" enctype="multipart/form-data" > ...
- flask完成文件上传功能
在使用flask定义路由完成文件上传时,定义upload视图函数 from flask import Flask, render_template from werkzeug.utils import ...
- 在 Django/Flask 开发服务器上使用 HTTPS
使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署.问题是这些内建服务器通常都不支持 HTTPS,我们想在开发 ...
随机推荐
- 【Codeforces 142C】Help Caretaker
Codeforces 142 C 题意:给一个\(n\times m\)的空矩阵,求里面放最多的可旋转的\(T\)字形的个数,并输出方案. 思路1: 由于\(n\)和\(m\)比较小,所以可以尝试搜索 ...
- Android 动态的给Button、TextView、ImageView等控件设置了background后,再设置padding属性时该属性不起作用
也许大家遇到这样一个问题,有时我们根据业务需要在一个ViewGroup中动态的(程序运行过程中)添加View.例如添加Button,就需要给Button添加background.padding.mar ...
- docker知识复习
1.镜像基于内容寻址 基于内容寻址的实现,使用了两个目录:/var/lib/docker/image和/var/lib/docker/overlay, 后面的这个根据存储驱动的名称不同,而目录名不同. ...
- 没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)
由于最新的视频整顿风波,内涵段子APP被迫关闭,广大段友无家可归,但是最近发现了一个"段友"的app,版本更新也挺快,正在号召广大段友回家,如下图,有兴趣的可以下载看看(ps:我不 ...
- Luogu4899 IOI2018 Werewolf 主席树、Kruskal重构树
传送门 IOI强行交互可还行,我Luogu的代码要改很多才能交到UOJ去-- 发现问题是对边权做限制的连通块类问题,考虑\(Kruskal\)重构树进行解决. 对于图上的边\((u,v)(u<v ...
- LiveCharts文档-3开始-4可用的图表
原文:LiveCharts文档-3开始-4可用的图表 LiveCharts文档-3开始-4可用的图表 LiveCharts共有5类图表,你将会在后面的章节当中看到这些图表的使用方法. Cartesia ...
- HDU 6165 FFF at Valentine
题目大意:给出一个有向图,问你这个图中是否对于任意两点\(u,v\),都至少满足\(u\to v\)(\(u\)可到达\(v\),下同)或\(v\to u\)中的一个. 一看就是套路的图论题,我们先把 ...
- Thrift_简介(基于C#)
//Server: TProtocolFactory ProtocolFactory = new TBinaryProtocol.Factory(true, true); TTransportFact ...
- linux下监控某个目录是否被更改
需求:对一个目录(比如/data/test)进行监控,当这个目录下文件或子目录出现变动(如修改.创建.删除.更名等操作)时,就发送邮件!针对上面的需求,编写shell脚本如下: [root@cento ...
- 小程序encryptedData
准备知识: Base64编解码 AES算法.填充模式.偏移向量 session_key会话密钥,以及怎么存储和获取 以上3点对于理解解密流程非常重要. 根据官方文档,我梳理了大致的解密流程,如下: 小 ...