蓝图Blueprint

什么是蓝图?

蓝图:用于实现单个应用的视图、模板、静态文件的集合。

蓝图就是模块化处理的类。

简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。

蓝图的使用:

一、创建蓝图对象。

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

二、注册蓝图路由。

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

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

#url_prefix是指在定义视图函数url前面加上/admin才能访问该视图函数
app.register_blueprint(admin,url_prefix='/admin')

SQLAlchemy

db.session api 接口地址:

https://docs.sqlalchemy.org/en/13/orm/session_api.html

SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果

Engine,框架的引擎

Connection Pooling ,数据库连接池 Dialect,选择连接数据库的DB API种类

Schema/Types,架构和类型

SQL Exprression Language,SQL表达式语言

ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上。

create_engine()用来初始化数据库连接。SQLAlchemy用一个字符串表示连接信息:

'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'

FLASK --DB-COLUMN属性

db.Column 中其余的参数指定属性的配置选项

选项名 说 明
primary_key 如果设为 True,这列就是表的主键
unique 如果设为 True,这列不允许出现重复的值
index 如果设为 True,为这列创建索引,提升查询效率
nullable 如果设为 True,这列允许使用空值;如果设为 False,这列不允许使用空值
default 为这列定义默认值

flask_SQLAlchemy扩展包:封装了对数据库的操作,离开了这个扩展包,就不会碰见session

flask-sqlalchemy filter 和 filter_by 的区别

filter用类名.属性名,比较用==,filter_by直接用属性名,比较用= 不过这个是语法小细节。

个人觉得最重要的区别是filter不支持组合查询,只能连续调用filter来变相实现。

而filter_by的参数是**kwargs,直接支持组合查询。

filter和filter_by查询:都是查询过滤器,要使用查询执行器;
User.query.filter(User.name=='wang').all() 参数:必须使用类名.字段,可以使用运算符>= == <= !=
User.query.filter_by(name='wang').all()参数:只需要使用字段名,不能使用运算符。

  • filter_by()方法,对查询结果过滤,参数必须是键值对”key=value”
    # WHERE name='Tom'users = User.query.filter_by(name='Tom')# WHERE name='Tom' AND age=17users = User.query.filter_by(name='Jane', age=17)
  • filter()方法,对查询结果过滤,比filter_by()方法更强大,参数是布尔表达式
    # WHERE age<20users = User.query.filter(User.age<20)# WHERE name LIKE 'J%' AND age<20users = User.query.filter(User.name.startswith('J'), User.age<20)

多个查询条件用逗号分割。

first()方法,取返回列表中的第一个元素,当我们只查询一条记录时非常有用

user = User.query.filter_by(name='Michael').first()
  • order_by()方法,排序
    from sqlalchemy import desc# ORDER BY nameuser = User.query.order_by(User.name)# ORDER BY age DESC, nameuser = User.query.order_by(desc(User.age), User.name)

request模块

1、method:请求的方法,
return request.method #POST
2、form:返回form的内容
return json.dumps(request.form) #返回值:{"username": "123", "password": "1234"}
3、args和values:args返回请求中的参数,values返回请求中的参数和form
return json.dumps(request.args) # 返回值:{"a": "1", "b": "2"}
return str(request.values) #返回值:CombinedMultiDict([ImmutableMultiDict([('a', '1'), ('b', '2')]), ImmutableMultiDict([('username', '123'), ('password', '1234')])])
4、cookies:cookies信息
return json.dumps(request.cookies) #cookies信息
5、headers:请求headers信息,返回的结果是个list
return str(request.headers) #headers信息
request.headers.get('User-Agent') #获取User-Agent信息
6、url、path、script_root、base_url、url_root:看结果比较直观
return 'url: %s' %request.url 返回值:url: http://192.168.1.183:5000/testrequest?a&b
return 'script_root: %s' %request.script_root 返回值:script_root: ,
return 'path: %s' %request.path 返回值:path: /testrequest
return 'base_url: %s' %request.base_url 返回值:base_url: http://192.168.1.183:5000/testrequest
return 'url_root : %s' %request.url_root 返回值:url_root : http://192.168.1.183:5000/
7、date、files:date是请求的数据,files随请求上传的文件

python flask相关推荐

  1. 全栈Python Flask教程-建立社交网络

    Learn how to build a basic social platform with the Python Flask web framework. 了解如何使用Python Flask网络 ...

  2. python flask高级编程之restful_('Python Flask高级编程之RESTFul API前后端分离精讲',),全套视频教程学习资料通过百度云网盘下载...

    资源详情 r n t某课网好评度100%的Python Flask高级编程之RESTFul API前后端分离精讲 r n t t t第1章 随便聊聊 r n t t t聊聊Flask与Django,聊 ...

  3. python flask实现博客系统_基于Flask的博客网站设计与实现

    涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...

  4. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  5. python开源项目博客_Blog_mini首页、文档和下载 - Python Flask开源博客 - OSCHINA - 中文开源技术交流社区...

    使用Blog_mini,你完全不用担心博客的管理问题! Blog_mini是一个用Python Flask开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_min ...

  6. 用python+flask自己制作api(教程附源码)

    1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...

  7. Build Docker image of a Python Flask app【转载】

    原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...

  8. Python Flask web 项目零改动迁移至阿里云函数计算

    引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...

  9. 注意:python flask 里image文件 css文件 html文件都必须有固定存放位置!

    html文件放在templates文件夹里 css文件和image文件都放在static文件夹里 Flask 中 CSS 能否放在其他位置? 但貌似也是能够自定义位置的 Flask静态文件目录地址自定 ...

  10. Python flask出现jinja2.exceptions.TemplateNotFound错误(修复host就好了???)

    源代码: from flask import Flask, render_template, Response import cv2app = Flask(__name__)# camera = cv ...

最新文章

  1. Java泛型深入题目
  2. 有线节点与无线节点的混合仿真模拟实验
  3. 【笔记】Comparison of Object Detection and Patch-Based Classification Deep Learning Models on Mid- to La
  4. [转载] Java内存管理-你真的理解Java中的数据类型吗(十)
  5. 人工智能领域有哪些曾被拒稿的优秀工作?
  6. 第一章 略说中医的学习与研究(6)
  7. 华为防火墙重启_华为USG6000系列防火墙重置密码
  8. LPDDR4协议规范之 (四)命令和时序
  9. 不同标准下的ESD HBM模型 2021-05-29
  10. 使用Google地图的测距功能
  11. 计算机课艺术字四周型怎么弄,Word.文档中艺术字环绕方式四周型怎么设置
  12. Vue组件小tips
  13. TEC-2机微程序设计实验
  14. 操作系统实验二(调度算法模拟-先进先出-时间片轮转法-优先服务调度算法)
  15. m3u8的视频下载以及.ts文件解密
  16. aspjpeg生成水印
  17. c/c++软件工程师面试题
  18. 【云速建站】建站专家详解建站系列直播合集
  19. 【数学建模美赛】【LaTeX】论文模板
  20. 苹果CMSv10自适应视频高权重好看的简约模板源码下载

热门文章

  1. 浅说《测试用例》----给测试新手的
  2. 中石油训练赛 - 奎奎画画(思维+并查集+离线处理)
  3. CodeForces - 727D T-shirts Distribution(贪心)
  4. HDU - 1847 Good Luck in CET-4 Everybody!(sg函数,水题)
  5. EOJ_1007_环形双向链表
  6. C++虚继承(六) --- 虚继承浅析
  7. DLL入门浅析(1)——如何建立DLL
  8. c++ template(9)trait和Policy
  9. GStreamer 的调试工具
  10. C语言实现miniShell