学习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指定端口
最新文章
- linux菜鸟日记(3)
- Swift处理堆栈问题——给定两组序列,其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序
- Python MySQLdb在Linux下的快速安装
- 无线路由器WDS 桥接设置方法
- FlipView For Xamarin.Form 之 IOS
- hdu----(1402)A * B Problem Plus(FFT模板)
- 浅谈Flutter(一):搭建Flutter开发环境
- python图形用户
- Azkaban各种类型的Job编写
- C#通过COM组件操作IE浏览器(二):使用IHTMLDocument3完成登录
- 《JavaScript总结》深拷贝和浅拷贝
- 开发中遇到的css兼容问题
- MySQL设置密码复杂度
- 修改jupyter notebook的默认打开地址
- 彻底卸载删除Win10易升,禁止再生
- Unity实现混合模式的ADD模式
- 对JSON格式的城市按照拼音首字母排序
- SpringBoot日记——Web开发篇
- python---基础知识回顾(十)进程和线程(进程)
- ClouderaManager启动NodeManager失败!报错Failed to initialize container executor