1.前言

前言

模块用途

模块用途
flask-sqlalchemy数据库
flask-wtf表单验证
flask-restfulrestful api是用于在前端与后台进行通信的一套规范。使用这个规范可以让前后端开发变得更加轻松。
flask-mail邮箱
celery异步执行、定时任务
flask-login提供用户会话管理
flask-cache缓存
flask-pjax异步刷新页面
flask-restlessFlask-Restless为使用SQLAlchemy(或Flask-SQLAlchemy)定义的数据库模型提供简单的ReSTful API生成。生成的API以JSON格式发送和接收消息。
flask-redisredis数据库
flask-session会话管理
flask-script通过命令行的形式来操作Flask
flask-migrate一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作
flask-caching缓存
Pycasbin比flask-login更强大的权限框架
flask-authz基于PyCasbin

虚拟环境

安装
  1. 安装virtualenv
  2. 安装virtualenvwrapper
pip install virtualenv virtualenvwrapper
创建虚拟环境
mkvirtualenv 虚拟环境名称
切换某个虚拟环境
worken 虚拟环境名称
退出当前虚拟环境
deactivate
列出虚拟环境
lsvirtualenv
进入到虚拟环境所在的目录
cdvirtualenv
修改mkvirtualenv的默认路径
mkvirtualenv --python=python-path 名称

安装flask

pip install flask

检查flask版本

flask.__version__

image-20200901183118975

URL(统一资源定位符)组成部分详解

一个url(统一资源定位符)由以下几部分组成:scheme://host:port/path?query-stringxxx#anchor

  • scheme:代表的是访问的协议,一般为https,http,ftp等

  • host:主机名,域名,比如www.baidu.com

  • port:端口号

  • path:查找路径

  • query-string:查询字符串

  • anchor:锚点,后台一般一般不用管,前端用来做页面定位的

演示

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

运行后:

image-20200901185137587

从flask这个包中导入flask这个类,flask这个类是项目的核心,以后很多操作都是基于这个类的对象

注册url,注册蓝图都是基于这个类的对象

详解

创建一个flask对象,传递 **_name_**参数进去

app = Flask(__name__)

**_name_**参数的作用

  1. 可以规定规模和静态文件的查找路径。

  2. 以后一些flask插件,比如Flask-migrate,Flask-SQLAlchemy如果报错,那么flask可以通过这个参数找到具体的错误位置。

@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route 是一个装饰器,@app.route('/')就是将url中的/映射hello_world这个视图函数上面,以后访问网站的/目录的时候,会执行hello_world这个函数,然后将这个函数的返回值返回给浏览器。

debug模式详解

为什么需要开启debug模式:
  1. 如果开启了DEBUG模式,那么在代码中如果抛出了异常,在浏览器的页面中可以看到具体的错误信息,以及具体的错误代码位置,方便开发者调试

  2. 如果开启了debug模式,那么以后在python代码中修改了任何代码,只要按"ctrl+s",'flask'就会自动的重新记载整个网站,不需要手动点击重新运行。

配置debug模型的四种方式
  1. 在'app.run()'中传递一个参数'debug=True'就可以开启'DEBUG'模式

    • app.run(debug=True)
  2. 给'app.debug=True'也可以开启'debug'模式

    • app.debug = True
  3. 通过配置参数的形式设置DEBUG模式,'app.config.update(DEBUG=True)'

    • app.config.update(DEBUG=True)
  4. 通过配置文件的形式设置DEBUG模式:'app.config.from_object(config)'

from flask import Flask
import config

app = Flask(__name__)

### 2.app.debug = True
### 3.app.config.update(DEBUG=True)
### 4.app.config.from_object(config)



@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    ### 1.app.run(debug=True)
    app.run()

image-20200901184421645

PING码

如果想要在网页上调试代码,name应该输入'PIN'码

image-20200901184536503

配置文件两种方式详解

使用"app.config.from_object(config)"的方式加载配置文件
from flask import Flask
import config

app = Flask(__name__)
app.config.from_object(config)

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run(debug=True)

image-20200901184756554

使用“app.config.from_pyfile”的方式加载配置文件
from flask import Flask
import config


app = Flask(__name__)

app.config.from_pyfile("config.py")
# app.config.from_pyfile("config.txt",silent=False)

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run(debug=True)

其中app.config.from_pyfile("config.txt",silent=False),silent=False如果不存在,则会报错;silent=True,如果文件不存在,则不会报错

image-20200901184908519

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值