Python-S9——Day115-Flask Web框架
01 当日内容概要
1 当日内容概要
1.1 Flask基础;
1.2 Web框架包含的基础组件;
1.2.1 路由、视图函数、模板渲染;
1.3 Flask配置文件;
1.4 Flask的路由系统;
1.5 Flask视图函数;
1.6 请求相关&响应相关;
1.7 模板的渲染;
1.8 session保持(不是所有的Web框架都提供session);
1.9 闪现;
1.10 中间件(与Django的区别很大);
1.11 蓝图(blueprint);
1.12 特殊的装饰器;
2 内容回顾;
2.1 Django和Flask的对比和认知;、
2.2 Flask和Django之间的最大不同点;
2.2.1 request/session
2.3 Flask的知识点;
2.3.1 静态文件+模板 app = Flask(__name__,...)
2.3.2 路由 @app.route('/index',methods = ["GET"])
2.3.3 视图函数
请求:
- request.form
- request.args
- request.method
响应:
- render
- redirect
session
- session['xxx'] = 123
- session.get('xx')
2.3.4 路飞学城项目;
- 管理后台;
- 导师后台;
- 主站;
2.3.5 路飞学城主站的业务;
- 课程
- 课程列表
- 课程详细
- 大纲、导师、推荐课程
- 价格策略
- 章节和课时
- 常见问题
- 深科技
- 文章列表
- 文章详细
- 收藏
- 评论
- 点赞
- 支付
- 购物车(4个函数)
- 结算中心(3个函数)
- 立即支付(1个函数)
- 知识点——Redis(持久化)、支付宝、消息推送(公众号推送模板消息)、构建数据结构
- 个人中心
- 课程中心
2.3.6 播放视频
- CC视频
- 加密视频
- 非加密视频
3 Flask框架:配置文件导入原理
3.1 如何找到这个类?
知识点:
- 给你一个路径 “settings.Foo”,可以找到类并获取去其中的大写的静态字段。 settings.py
class Foo:
DEBUG = True
TEST = True xx.py
import importlib path = "settings.Foo" p,c = path.rsplit('.',maxsplit=1)
m = importlib.import_module(p)
cls = getattr(m,c) # 如果找到这个类?
for key in dir(cls):
if key.isupper():
print(key,getattr(cls,key))
4 Flask框架:配置文件使用;
4.1 通过app.py进行引入,外部进行定义;
4.2 查看app.config的内容;
app.py
from flask import Flask, render_template, request, redirect, session app = Flask(__name__) print(app.config)
# app.config["DEBUG"] = True '''
<Config {'ENV': 'development', 'DEBUG': False, 'TESTING': False, 'PROPAGATE_EXCEPTIONS': None, 'PRESERVE_CONTEXT_ON_EXCEPTION': None,
'SECRET_KEY': None, 'PERMANENT_SESSION_LIFETIME': datetime.timedelta(31), 'USE_X_SENDFILE': False, 'SERVER_NAME': None,
'APPLICATION_ROOT': '/', 'SESSION_COOKIE_NAME': 'session', 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_PATH': None,
'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_SECURE': False, 'SESSION_COOKIE_SAMESITE': None,
'SESSION_REFRESH_EACH_REQUEST': True, 'MAX_CONTENT_LENGTH': None,
'SEND_FILE_MAX_AGE_DEFAULT': datetime.timedelta(0, 43200), 'TRAP_BAD_REQUEST_ERRORS': None,
'TRAP_HTTP_EXCEPTIONS': False, 'EXPLAIN_TEMPLATE_LOADING': False, 'PREFERRED_URL_SCHEME': 'http', 'JSON_AS_ASCII': True,
'JSON_SORT_KEYS': True, 'JSONIFY_PRETTYPRINT_REGULAR': False, 'JSONIFY_MIMETYPE': 'application/json',
'TEMPLATES_AUTO_RELOAD': None, 'MAX_COOKIE_SIZE': 4093}>
'''
app.config.from_object("settings.ProductionConfig") if __name__ == '__main__':
app.run()
settings.py
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# __Author__:TQTL911
# Version:python3.6.6
# Time:2018/8/30 22:29 class Config(object):
DEBUG = False
TESTING = False
DATABASE_URI = 'sqlite://:memory:' class ProductionConfig(Config):
DATABASE_URI = 'mysql://user@localhost/foo' class DevelopmentConfig(Config):
DEBUG = True class TestingConfig(Config):
TESTING = True # class Base(object):
# """
# 创建一个父类;
# """
# xx = 123
#
#
# class Pro(Base):
# """
# 生产环境;
# """
# DEBUT = True
#
#
# class Dev(Base):
# """
# 开发环境;
# """
# DEBUG = True
Python-S9——Day115-Flask Web框架的更多相关文章
- 教程:在 Visual Studio 中开始使用 Flask Web 框架
教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...
- python几个轻量级web框架
python几个轻量级web框架 2016-04-11 18:04:34 惹不起的程咬金 阅读数 7944更多 分类专栏: 云计算/大数据/并行计算 Python 我最近发表了一篇名为 ‘7 Mi ...
- Ubuntu16.04采用FastCGI方式部署Flask web框架
1 部署nginx 1.1 安装nginx服务 root@desktop:~# apt-get install nginx -y 1.2 验证nginx服务是否启动 root@des ...
- Python Flask Web 框架入门
Python Flask 目录 本文主要借鉴 letiantian 的文章 http://www.letiantian.me/learn-flask/ 一.简介 二.安装 三.初始化Flask 四.获 ...
- 比我的脸还干的gan货——Python Flask Web 框架入门
Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行.是的,所以读者需要自己在电 ...
- python学习之路web框架
WEB框架的本质 python的WEB框架分为两大类: 1.自己写socket,自己处理请求 2.基于wsgi(Web Server Gateway Interface WEB服务网关接口),自己处理 ...
- Python-S9-Day115——Flask Web框架基础
01 今日内容概要 02 内容回顾 03 Flask框架:配置文件导入原理 04 Flask框架:配置文件使用 05 Flask框架:路由系统 06 Flask框架:请求和响应相关 07 示例:学生管 ...
- 【2018】Python面试题【web框架】
1.谈谈你对http协议的认识. HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使 ...
- Python面试-websocket及web框架
一.Websocket 1. websocket概念 在讲websocket之前,我们先来看看ajax轮询和long poll的实现机制. A. ajax轮询 ajax轮询的原理非常简单,让浏览器隔 ...
- Python全栈开发-web框架之django
一:web框架 什么是web框架? Web应用框架(Web application framework)是一种开发框架,用来支持动态网站.网络应用程序及网络服务的开发.这种框架有助于减轻网页开发时共通 ...
随机推荐
- linux下mysql多实例安装(转)
转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...
- Bugzilla-5.0.3 (OpenLogic CentOS 7.2)
平台: CentOS 类型: 虚拟机镜像 软件包: apache2.4.6 bugzilla5.0.3 mariadb5.5.47 perl5.16.3 apache bug tracking bug ...
- System Center Configuration Manager 2016 域准备篇(Part4)
步骤4.创建系统管理容器 注意:在Active Directory域控制器服务器(AD01)上以本地管理员身份执行以下操作 有关您为何这样做的详细信息,请参阅https://docs.microsof ...
- Win10 耳机无声音,扬声器有声音的解决办法
注:适用于WIN10及WIN10.ubuntu双系统耳机无声音的问题. 在WIN10的引导下,安装了Ubuntu的桌面版,作成了双系统,可是发现了一个问题:进入Win10后插耳机会没有声音,扬声器有声 ...
- LeetCode Count and Say 数数字
class Solution { public: string countAndSay(int n) { ) "; "; int i,t,count; char c='*'; ;i ...
- 完全卸载TeamViewer与重新安装TeamViewer 7(含单文件版V12主控端)
卸载teamviewer: 删除:%AppData%\Teamviewer.%tmp%\TeamViewer.C:\Users\Administrator\AppData\Local\TeamView ...
- 树莓派(raspberry pi)更改键盘布局
http://blog.csdn.net/c80486/article/details/8460271 树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题 ...
- 推荐一个WebIDE在线编程语言编译器C9.io
有时借用别人电脑或者不想在电脑上安装各种乱七八糟的IDE,就可以考虑 Web IDE.随着Web技术发展,很多语言的编译工作都可以利用Web 浏览器来完成. 1. 推荐国外的 C9.io 个人可以免费 ...
- c++ 程序设计question 001:我们的开发工具是什么?
我们使用的开发工具是dev cpp (c plus plus),这是一个集成开发环境,我们称之为IDE(integrated development environment)
- c++ 中常量与变量 基本数据类型
c++中常量如何分类? 1.整数常量,所有的整数. 整数又分为 int (integer) 占用4个字节 一个字节占几个二进制位?8个二进制位,一个整型变量占32位二进制位 (内存中开辟出来的存储空间 ...