Python_Flask系列_1.基础

  • 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.常用的命令行语句

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():

    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'

from flask import Flask

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()

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'

不负有心人

Original: https://blog.csdn.net/joyyi9/article/details/122393129
Author: joyyi9
Title: Python_Flask系列_1.基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/747539/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Django和Flask的数据库迁移

    在很多时候,在我们设计好模型之后,又需要进行一定的改变和更新数据操作,最直接的方式就是删除原来的旧表,但是随之而来的问题就是我们之前的 数据也会删除;那怎么办呢,这时候就需要数据库…

    Python 2023年8月13日
    047
  • pytest常用插件3-失败重试

    1.插件名称:pytest-rerunfailures,用例运行失败后,根据设置的参数自动重试2.安装方式:1)安装包方式python setup.py install2)命令行p…

    Python 2023年9月9日
    056
  • 爬虫学习之scrapy

    爬虫学习之scrapy * – 前言 – scrapy框架 – scrapy+selenium自动化 前言 此文用于学习SCRAPY scrap…

    Python 2023年10月5日
    045
  • Matplotlib入门[06]——figures,subplots,axes和ticks对象

    Matplotlib入门[06]——figures,subplots,axes和ticks对象 参考: https://ailearning.apachecn.org/ Matpl…

    Python 2023年9月6日
    057
  • 记录Django学习的一个小坑

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月4日
    053
  • 直观对比django与DRF

    首先我们来看我从知乎上保存的有关django与DRF的流程图,思考两者之间的区别与联系! Django就是将数据库的东西通过ORM的映射取出来,通过view文件,按照templat…

    Python 2023年8月4日
    060
  • Tauri+Rust+Vue 跨平台桌面应用简明教程(1)环境创建+系统事件+自定义菜单

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 Tauri简介 Tauri 是…

    Python 2023年10月14日
    0161
  • Numpy线性代数-numpy.linalg.solve()

    N u m P y NumPy N u m P y提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明。 函数内容 两数组的点积 两向量的点积 …

    Python 2023年8月23日
    055
  • python 画图工具——matplotlib命令式函数

    1. 概述 Matplotlib是python的一个绘图库,是数据科学的的必备库,更是很多高级可视化库的底层基础,matplotlib与numpy、pandas被誉为数据科学三剑客…

    Python 2023年8月31日
    055
  • HTTP and Flask Basics – HTTP Responses

    After the request has been received by the server and processed, the server returns an HTT…

    Python 2023年8月11日
    034
  • 你真的会python中的for循环吗

    Original: https://www.cnblogs.com/123456feng/p/16152818.htmlAuthor: 蚂蚁ailingTitle: 你真的会pyt…

    Python 2023年5月24日
    060
  • 元宇宙第一股 Roblox

    2021年, Roblox在经历15年的运营后,终于在纽交所上市,成为元宇宙第一股,也让元宇宙这个概念在去年爆火,揭开了元宇宙元年的序幕。那么Roblox究竟是一款什么产品,代表了…

    Python 2023年10月29日
    028
  • 使用Flask服务部署算法模型

    使用Flask服务部署算法 最近在公司快吧我恶心死了,好不容易把算法给弄完了,组长又让我把算法给部署到测试服务器上,这让我懵逼了,我刚开始工作没多久,也不知道怎么部署算法。组长就把…

    Python 2023年8月9日
    038
  • 微服务架构 | 10.3 使用 Zipkin 可视化日志追踪

    前言 1. Zipkin 基础知识 1.1 Zipkin 链路监控的原理 2. 下载 Zipkin 服务器 2.1 下载 zipkin-server-2.12.9-exec.jar…

    Python 2023年6月3日
    070
  • SSM框架实现登录注册功能

    刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能。 目录 项目结构图 持久层相关配置文…

    Python 2023年9月26日
    057
  • 使用 Python 进行网页抓取

    如果您知道如何做到这一点,那么对于企业和个人使用来说,网络抓取似乎是一种非常有用的节省时间的工具。我们将重点介绍为什么您应该使用 Python 进行网页抓取,并为您提供有关如何完成…

    Python 2023年11月5日
    039
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球