Python_Flask系列_1.基础

系列文章目录


前言


一、Flask是什么?

  • WSGI 工具箱采用 Werkzeug(路由模块) ,模板引擎则使用 Jinja2
    ,Flask框架的核心就是Werkzeug和Jinja2

  • Flask应该是最灵活的框架之一

  • Flask扩展包:
    ● Flask-SQLalchemy:操作数据库;
    ● Flask-migrate:管理迁移数据库;
    ● Flask-Mail:邮件;
    ● Flask-WTF:表单;
    ● Flask-script:插入脚本;
    ● Flask-Login:认证用户状态;
    ● Flask-RESTful:开发REST API的工具;
    ● Flask-Bootstrap:集成前端Twitter Bootstrap框架;
    ● Flask-Moment:本地化日期和时间;

参考学习链接
1.豆约翰flask系列教程
2.flask中文教程
3.flask_W3cschool
4.flask_语雀

二、Flask有关知识

1.常用的命令行语句

pip install -r requirements.txt #安装依赖包
pip freeze > requirements.txt	#生成依赖包

app.secret_key = 'aaaa'# set the secret key

#数据库
flask db update
flask db migrate

python app.py db init#这个命令会创建migrations文件夹
python app.py db migrate -m 'initial migration'#创建自动迁移脚本
python database.py db upgrade#更新数据库
#回退数据库
python app.py db history查看历史版本的具体版本号
python app.py db downgrade 版本号
flask run#运行
set FLASK_APP=app.py

2.特殊模块

邮箱

from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
#配置邮件:服务器/端口/传输层安全协议/邮箱名/密码
app.config.update(
    DEBUG = True,
    MAIL_SERVER='smtp.qq.com',
    MAIL_PROT=465,
    MAIL_USE_TLS = True,
    MAIL_USERNAME = '2632499409@qq.com',
    MAIL_PASSWORD = 'aaa',
)
mail = Mail(app)
@app.route('/')
def index():
 # sender 发送方,recipients 接收方列表
    msg = Message("This is a test ",sender='2632499409@qq.com', recipients=['shengjun@itcast.cn','2632499409@qq.com'])
    #邮件内容
    msg.body = "Flask test mail"
    #发送邮件
    mail.send(msg)
    print ("Mail sent")
    return "Sent Succeed"
if __name__ == "__main__":
    app.run()

什么是蓝图?
蓝图:用于实现单个应用的视图、模板、静态文件的集合。
蓝图就是模块化处理的类。
简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。

蓝图的使用:
一、创建蓝图对象。

 Blueprint必须指定两个参数,admin表示蓝图的名称,__name__表示蓝图所在模块
admin = Blueprint('admin',__name__)

二、注册蓝图路由。

@admin.route('/')
def admin_index():
    return 'admin_index'

三、在程序实例中注册该蓝图。

app.register_blueprint(admin,url_prefix='/admin')
from flask import Flask   

app = Flask(__name__)    
@app.route('/')
def index():
    return 'index'
@app.route('/list')
def list():
    return 'list'
@app.route('/detail')
def detail():
    return 'detail'
@app.route('/')
def admin_home():
    return 'admin_home'
@app.route('/new')
def new():
    return 'new'
@app.route('/edit')
def edit():
    return 'edit'
# 文件app.py
from flask import Flask
# 导入admin中的内容
from admin import *

app = Flask(__name__)

@app.route('/')
def index():
    return 'index'
@app.route('/list')
def list():
    return 'list'
@app.route('/detail')
def detail():
    return 'detail'
if __name__ == '__main__':
    app.run()
    
    
# 文件admin.py    
from app import app
@app.route('/')
def admin_home():
    return 'admin_home'
@app.route('/new')
def new():
    return 'new'
@app.route('/edit')
def edit():
    return 'edit'

总结

不负有心人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

joyyi9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值