python flask
蓝图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相关推荐
- 全栈Python Flask教程-建立社交网络
Learn how to build a basic social platform with the Python Flask web framework. 了解如何使用Python Flask网络 ...
- 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,聊 ...
- python flask实现博客系统_基于Flask的博客网站设计与实现
涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...
- python Flask框架如何请求及返回数据——flask详细教程
python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...
- python开源项目博客_Blog_mini首页、文档和下载 - Python Flask开源博客 - OSCHINA - 中文开源技术交流社区...
使用Blog_mini,你完全不用担心博客的管理问题! Blog_mini是一个用Python Flask开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_min ...
- 用python+flask自己制作api(教程附源码)
1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...
- Build Docker image of a Python Flask app【转载】
原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...
- Python Flask web 项目零改动迁移至阿里云函数计算
引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...
- 注意:python flask 里image文件 css文件 html文件都必须有固定存放位置!
html文件放在templates文件夹里 css文件和image文件都放在static文件夹里 Flask 中 CSS 能否放在其他位置? 但貌似也是能够自定义位置的 Flask静态文件目录地址自定 ...
- Python flask出现jinja2.exceptions.TemplateNotFound错误(修复host就好了???)
源代码: from flask import Flask, render_template, Response import cv2app = Flask(__name__)# camera = cv ...
最新文章
- Java泛型深入题目
- 有线节点与无线节点的混合仿真模拟实验
- 【笔记】Comparison of Object Detection and Patch-Based Classification Deep Learning Models on Mid- to La
- [转载] Java内存管理-你真的理解Java中的数据类型吗(十)
- 人工智能领域有哪些曾被拒稿的优秀工作?
- 第一章 略说中医的学习与研究(6)
- 华为防火墙重启_华为USG6000系列防火墙重置密码
- LPDDR4协议规范之 (四)命令和时序
- 不同标准下的ESD HBM模型 2021-05-29
- 使用Google地图的测距功能
- 计算机课艺术字四周型怎么弄,Word.文档中艺术字环绕方式四周型怎么设置
- Vue组件小tips
- TEC-2机微程序设计实验
- 操作系统实验二(调度算法模拟-先进先出-时间片轮转法-优先服务调度算法)
- m3u8的视频下载以及.ts文件解密
- aspjpeg生成水印
- c/c++软件工程师面试题
- 【云速建站】建站专家详解建站系列直播合集
- 【数学建模美赛】【LaTeX】论文模板
- 苹果CMSv10自适应视频高权重好看的简约模板源码下载
热门文章
- 浅说《测试用例》----给测试新手的
- 中石油训练赛 - 奎奎画画(思维+并查集+离线处理)
- CodeForces - 727D T-shirts Distribution(贪心)
- HDU - 1847 Good Luck in CET-4 Everybody!(sg函数,水题)
- EOJ_1007_环形双向链表
- C++虚继承(六) --- 虚继承浅析
- DLL入门浅析(1)——如何建立DLL
- c++ template(9)trait和Policy
- GStreamer 的调试工具
- C语言实现miniShell