Claus's Tech Blog

leave me alone i know what to do


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Flask 从入门到放弃5: 数据库操作

发表于 2017-08-28 | 更新于 2018-04-04 | 分类于 Flask从入门到放弃 | 阅读次数
| 字数统计 1,666 字

Flask-SQLAlchemy是一个Flask扩展,它简化了在Flask应用程序中对SQLAlchemy的使用。SQLAlchemy是一个强大的关系数据库框架,支持一些数据库后端。提供高级的ORM和底层访问数据库的本地SQL功能。

通过pip安装Flask-SQLAlchemy:

1
(venv) $ pip install flask-sqlalchemy

Flask-SQLAlchemy Logo

对于一个Flask应用,我们需要先创建Flask应用,选择加载配置,然后创建SQLAlchemy对象时候把Flask应用传递给它作为参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask_sqlalchemy import SQLAlchemy
from config import config

db = SQLAlchemy()


def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)

db.init_app(app)
return app
阅读全文 »

Flask 从入门到放弃4: Web表单

发表于 2017-08-15 | 更新于 2018-04-04 | 分类于 Flask从入门到放弃 | 阅读次数
| 字数统计 1,181 字

HTML表单用于搜集不同类型的用户输入,是Web应用和用户交互的一种HTML元素。关于表单的基础知识可以去 W3School HTML 表单 去复习一下。

先歪个楼回顾一下HTTP请求的基础知识

HTTP 方法:GET 对比 POST

Flask中的request对象可以存储来自客户端的所有信息,其中可以通过 request.form 来获得POST请求所提交的表单数据。在处理表单的时候,像构建表单、表单数据验证是重复并且很繁琐的。可以使用 Flask-WTF 来简化相关操作。

Flask-WTF_logo

1
(venv) $ pip install flask-wtf

Flask-WTF是一个集成了WTForms的Flask扩展,使用它你可以在python文件里创建表单类,然后在HTML使用它提供的函数渲染表单。

阅读全文 »

Flask 从入门到放弃3: 渲染模版

发表于 2017-08-14 | 更新于 2018-04-04 | 分类于 Flask从入门到放弃 | 阅读次数
| 字数统计 983 字

MVC

MVC:Model-View-Controller,中文名“模型-视图-控制器”

  • Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
  • View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
  • Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

Flask支持MVC模型,Flask默认使用Jinjia2模板引擎,对模版进行渲染,最终生成HTML文件。视图方法有两个作用:处理业务逻辑(比如操作数据库)和 返回响应内容。模板起到了将两者分开管理的作用。

下面介绍自动生成HTML的方法:模版渲染

阅读全文 »

Python 浅复制与深复制

发表于 2017-07-31 | 更新于 2018-04-04 | 阅读次数
| 字数统计 1,020 字

Python中,万物皆对象。

在介绍Python的浅复制和深复制之前,先来歪个楼,说明一下Python的可变对象和不可变对象。提到这里,有两个坑不得不拿出来说一下。

坑1:可变对象作为函数默认值

先介绍一个Python里面常见的坑:

1
2
3
4
5
6
7
def append_to_list(value, def_list=[]):
def_list.append(value)
return def_list

my_list = append_to_list(1)
my_other_list = append_to_list(2)
print my_other_list

这时候的输出是什么呢?

阅读全文 »

Flask 从入门到放弃2: 深入理解@app.route()

发表于 2017-07-26 | 更新于 2018-04-04 | 分类于 Flask从入门到放弃 | 阅读次数
| 字数统计 1,106 字

下面这段代码是Flask的主页上给出的,这是一段Hello World级别的代码段,但是里面包含的概念可一点都不简单。

1
2
3
4
5
6
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "Hello World!"

这里面的 `@app.route(‘/‘)` 到底是什么意思呢,具体又是如何实现的呢?很多初学者都是很迷茫。我在集中精力理解了装饰器之后,慢慢的就对app.route 这个装饰器的原理以及目的有了了解了。

以前写过一篇文章,详细说明了装饰器的概念:搞懂Python装饰器 要是忘了可以随时复习一下。

阅读全文 »
1…456…15
Shuo Lv

Shuo Lv

72 日志
15 分类
50 标签
GitHub Weibo 知乎 LinkedIn Facebook
友情链接
  • 公式编辑器
  • 可视化Python代码
  • Python最佳实践
© 2015 - 2018 Shuo Lv
由 Hexo 强力驱动
主题 - NexT.Pisces