Flask基础介绍
Flask 是一个轻量级的 Web 应用框架, 使用 Python 编写。基于 WerkzeugWSGI 工具箱和 Jinja2 模板引擎。使用 BSD 授权。Flask 也被称为 microframework
,因为它使用简单的核心,用 extension 增加其它功能。Flask 没有默认使用的数据库、窗体验证工具。然而,Flask 保留了扩增的弹性,可以用 Flask-extension 加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
Flask搭建博客步骤
博客功能
- 根据配置文件中的认证允许用户登录以及注销。仅仅支持一个用户。
- 当用户登录后,他们可以添加新的条目,这些条目是由纯文本的标题和 HTML 的正文构成。因为我们信任用户这里的 HTML 是安全的。
- 页面倒序显示所有条目(新的条目在前),并且用户登入后可以在此添加新条目。
步骤
1.创建文件夹
在开始之前,让我们为这个应用创建需要的文件夹:
/flaskr
/static
/templates
其中:
- flaskr:项目总文件夹。其中会存放数据库代码文件
schema.sql
和 主代码文件flaskr.py
。 - static:项目的资源文件。用于存放
css
和javascript
文件。 - templates:项目前端页面文件。用于存放前端页面模板。
2.数据库模式
首先我们要创建数据库模式。对于这个应用仅一张表就足够了,而且我们只想支持 SQLite ,所以很简单。在 Code/flaskr
目录下新建 schema.sql
文件并向其中写入如下代码:
drop table if exists entries;
create table entries (
id integer primary key autoincrement,
title string not null,
text string not null
);
这个模式由一个称为 entries
的单表构成,在这个表中每行包含一个 id
,一个 title
和一个 text
。id
是一个自增的整数而且是主键,其余两个为非空的字符串。
3.应用设置代码
现在我们已经有了数据库模式了,可以创建应用的模块了。 在 Code/flaskr
目录下新建 flaskr.py
文件。对于小应用,直接把配置放在主模块里,正如我们现在要做的一样,这是可行的。然而一个更干净的解决方案就是单独创建.ini
或者.py
文件接着加载或者导入里面的值。 在 flaskr.py
文件中写入如下代码:
# 导入所有的模块
import sqlite3
from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
# 配置文件
DATABASE = '/tmp/flaskr.db'
ENV = 'development'
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'
下一步我们能够创建真正的应用,修改 flaskr.py
文件在其中配置初始化:
# 创建应用
app = Flask(__name__)
app.config.from_object(__name__)
from_object()
将会寻找给定的对象(如果它是一个字符串,则会导入它),搜寻里面定义的全部大写的变量。在我们的这种情况中,配置文件就是我们上面写的几行代码。 你也可以将他们分别存储到多个文件。 通常从配置文件中加载配置是一个好的主意。这时可以使用 from_envvar()
来实现,可以用它替换上面的 from_object()
: