学习python-20191203-Python Flask高级编程开发鱼书_第02章 Flask的基本原理与核心知识
视频01:
做一个产品时,一定要对自己的产品有一个明确的定位。并可以用一句话来概括自己产品的核心价值或功能。
鱼书网站几个功能
1、选择要赠送的书籍,向他人赠送书籍(价值功能,核心价值的主线);
2、书籍搜索(价值辅助功能);
3、选择自己想要的书籍,向他人索要书箱(价值辅助功能)。
————————————————————————————————————————————————————————————
视频02:
一、开始flask项目的步骤:
1、安装python环境; 2、检验python和pip是否安装好; 3、使用pipenv; 4、启动pipenv; 5、安装各种包,比如flask;
二、cmd进DOS,输入python -V 可以得到当前电脑安装的python的版本号。 (注:V一定要是大写)
pip -V可以得到当前电脑安装的pip的版本号。
————————————————————————————————————————————————————————————
视频03:
一、安装pipenv工具:在DOS下执行pip install pipenv,来安装pipenv工具。
注意:安装的时候如果出现:Requirement already satisfied: ......类似的提示,说明这台电脑上的pipenv已安装,不用重复安装。
二、用pipenv给当前项目新建一个虚拟环境
新建一个目录,在DOS下进入此目录,执行 pip install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple
三、查看虚拟环境
不进特定的虚拟环境,直接输入命令pip list 以显示全局虚拟环境。
pipenv shell 进入当前项目的虚拟环境。再pip list,则显示当前环境下安装的包。
四、在项目独立的虚拟环境中,安装flask
pipenv shell 进入当前项目的虚拟环境后,pipenv install flask 来安装flask。
查看flask有没有安装好,可以输入命令:flask
五、pipenv常用命令
进入虚拟环境——pipenv shell
退出虚拟环境——exit
安装扩展包——pipenv install flask
卸载扩展包——pipenv uninstall flask
查看安装包之间的依赖关系——pipenv graph
在github搜索一下pipenv,可以查看关于pipenv的详细文档。网址 https://github.com/,用户:jlw20190101
六、其他
可执行如下命令,指定安装路径,格式:pip install --target=目标路径 工具包名字
pip install --target=D:\PycharmProjects\testfisher flask -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
————————————————————————————————————————————————————————————
视频04:
1、开发工具推荐:pycharm
2、用集成环境工具Xampp安装数据库:Mysql
3、数据库可视化管理工具:Navicat
————————————————————————————————————————————————————————————
视频05-10:
用pycharm打开之前创建的项目。
File——>settings,Project:fisher——>Project Interpreter中指定之前创建的虚拟环境。
备注:查看虚拟环境安装目录,在DOS下进入项目目录,输入命令:pipenv --venv
在项目目录下创建一个py文件 fisher.py 。
from flask import Flask,make_response
# flask提供了一个叫make_response的函数,让我们可以很方便的创建一个response对象
# 在项目根目录下新建一个名为config.py配置文件,里边添加一个参数 DEBUG = True,所有的配置文件中,参数必须为大写
# 使用时,可以把config当作一个模块导入进来
# from config import DEBUG # 实例化flask对象
app = Flask(__name__)
app.config.from_object('config')#参数接受一个模块的路径
# 关于@app.route('/hello/') 这样的路由
# http://127.0.0.1:5000/hello1/可以访问
# http://127.0.0.1:5000/hello1 也可以访问,hello会被自动重定向到hello/
#所以路由中 加不 / 都可以 #第一种路由的书写方式
# @app.route内部的实现原理,是封装了app的add_url_rule方法,把它做成一个装饰器,使大家可以更优雅的实现路由的注册
@app.route('/hello1')
def hello_world1():
return 'Hello World one' # 第二种路由的书写方式
# http://127.0.0.1:5000/hello2可以访问
def hello_world2():
return 'Hello World two'
app.add_url_rule('/hello2', view_func=hello_world2) @app.route('/hello3')
def hello3():
# 视图函数,除了返回主要的内容之外,会返回一系列的附加信息,如:
# status code——状态码,200 404(找不到页面) 301(重定向)等
# content-type——告诉接收方(浏览器)如何解析主体内容,默认值:text/html
#Response对象
headers = {
'content-type':'text/plain',# plain是把主体内容当成一个普通的字符串来处理
# 'content-type': 'application/json',指定客户端按json来解析
'location':'http://www.baidu.com'#重定向到百度
}
respose = make_response('<html></html>',301) #301 状态码只是一个标识,并不会影响你要显示的内容
respose.headers = headers
return respose
# return '<html></html>',301,headers 这种是flask中最多的实现方式,它不用创建response对象
#'<html></html>',301,headers 在这里是一个元祖,最终被封装成一个response对象再返回回去 # 用run方法,启动web服务器
if __name__ == '__main__':
# 方法一:
# 在最上方导入from config import DEBUG
# app.run(host='0.0.0.0',debug=DEBUG ,port=81)
# 方法二:推荐使用
# 在上方已导入app.config.from_object('config')配置文件
app.run(host='0.0.0.0',debug=app.config['DEBUG'] ,port=5000)
# host = '0.0.0.0'表示 可以接受外网的访问,如果本机有多个网卡,用各网卡的IP都可以访问到
# port=5000指定端口
学习python-20191203-Python Flask高级编程开发鱼书_第02章 Flask的基本原理与核心知识的更多相关文章
- 学习python-20191208(1)-Python Flask高级编程开发鱼书_第03章_数据与flask路由
视频01: 略...... ———————————————————————————————————————————————————————————— 视频02: 搜索需要外部数据源,也就是需要外部的A ...
- 学习python-20191230(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数
视频06: 1.自动导包快捷键——默认为alt + enter 键组合 选中的字符由小写变为大写——Ctrl + Shift + U键组合 2.DataRequired()——防止用 ...
- 学习python-20191217(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数
视频01: flask框架:最上层是app,它就像一个插线板一样,比如可以插入蓝图,还可以插入其他各种flask插件. 每个蓝图又可以插入很多视图函数,并可指定静态文件夹和模板文件夹. 好的代码结构, ...
- 学习python-20191208(2)-Python Flask高级编程开发鱼书_第03章_数据与flask路由
视频06: 定义静态方法的两种方式: 1.在方法上方加上装饰@staticmethod 2.在方法上方加上装饰@classmethod 方法中要加参数cls 如:def search_by_isb ...
- Python Flask高级编程
第1章 课程导语介绍课程的内容1-1 开宗明义 试看1-2 课程维护与提问 第2章 Flask的基本原理与核心知识本章我们首先介绍Python官方推荐的最佳包与虚拟环境管理工具:Pipenv.接着我们 ...
- Python的几个高级编程技巧
Python有一些技巧对你来说是新知识,但是还有一些技巧会让你的代码效率大幅提升. 本文总结了一下自己用到的一些Python高级编程技巧,希望对大家有帮助. 列表生成器 a=[1,2,3] [x*x ...
- python基础之面向对象高级编程
面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) ...
- python高级编程之描述符与属性02
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #元描述符 #特点是:使用宿主类的一个或者多个方法来执行一个任务,可 ...
- Python基础——7面向对象高级编程
实例与类动态添加方法 实例添加属性: def Student(object): pass s = Student() s.name = ‘syz’ 实例添加方法 from types import M ...
随机推荐
- 吴裕雄--天生自然MySQL学习笔记:MySQL 排序
从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回 ...
- count(1),count(*)和count(列)的比较
转自:https://www.cnblogs.com/Caucasian/p/7041061.html 1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或 ...
- vue安装插件指定版本
安装插件指定版本 npm install 插件名称@2.9.6 --save 查看需要安装插件的版本记录 npm view 插件名称 versions --json
- mui 上拉加载
最近做到移动端页面的开发,需要mui 的上拉刷新功能,最后实现后整理代码如下: 1.需要引入的js <link href="../resource/css/mui.min.css&qu ...
- SQL游标的介绍与使用举例
一.游标的定义 declare (游标名) [INSENSITIVE] [SCROLL] CURSOR FOR select_statement [FOR{READ ONLY|UPDATE[OF co ...
- Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path 解决过程
原因:log4j-over-slf4j和slf4j-log4j12是跟Java日志系统相关的两个jar包,如果同时出现,就可能会引起堆栈异常 解决:找到依赖冲突发生位置,排除一个即可. 问题是 如何找 ...
- Transmission添加SSL访问
0.准备工作 0.1.在App Center中安装Entware-ng 0.2.以admin用户登录SSH到NAS 0.3.申请SSL证书,可以找免费的申请一个 0.4.公网IP和域名,这个要和SSL ...
- 2019杭电暑假多校训练 第六场 Snowy Smile HDU - 6638
很多题解都是简单带过,所以打算自己写一篇,顺便也加深自己理解 前置知识:线段树.线段树维护最大字段和.二维坐标离散化 题解: 1.很容易想到我们需要枚举所有子矩阵来得到一个最大子矩阵,所以我们的任务是 ...
- goahead调试经验
一.参考网址 1.源码的github地址 2.Web开发之Goahead 二.技术细节 1.默认网页的存放目录和名称 1)目录:在main.c文件中有*rootWeb定义,如: 2)网页名:在mai ...
- 复杂分布式架构下的计算治理之路:计算中间件 Linkis
前言 在当前的复杂分布式架构环境下,服务治理已经大行其道.但目光往下一层,从上层 APP.Service,到底层计算引擎这一层面,却还是各个引擎各自为政,Client-Server 模式紧耦合满天飞的 ...