学习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 ...
随机推荐
- UVA 10534 LCS变种题
求一个序列中 的2*n-1个数字 ,前n+1个数字为严格升序 后n+1个为严格降序,求最长的长度 一开始还没想清楚怎么解,其实就是一个LCS问题,从头到尾以及反序求一下LCS 由于 d[i]为包含了自 ...
- 查看电脑连接的WiFi的密码
这里提供两种办法:图形界面操作版.命令行操作版 方法一: 打开控制面板 点击红色框部分 方法二 打开命令行:输入命令netsh wlan show profiles "连接的WiFi的名称& ...
- 算法应用杂谈-xgboost的偏差
一个小样本的cvr 估计问题中, 考虑用xgboost 模型. 发现结果的估计偏差很大. 仔细研究后, 发现现象: 迭代步数不多, 一般3,5步就停了. 预测的分数偏差很大, 分布不匀. pcoc很大 ...
- 苹果智能AR挡风玻璃靠谱吗?
在过去十年,外界给苹果的形象一直是"伟大的硬件公司",他们的产品在外观方面往往比内涵更加引人注目,兼具娱乐性和艺术性, iPhone/iPad/iPod莫不如此,所以,当坊间传闻苹 ...
- JavaScript学习总结(六)
我们知道,JavaScript共由三部分组成:EMCAScript(基本语法).BOM(浏览器对象模型).DOM. 在浏览器对象模型中,把浏览器的各个部分都用了一个对象进行描述,如果我们要操作浏览器的 ...
- 洛谷 P1379 八数码难题(map && 双向bfs)
题目传送门 解题思路: 一道bfs,本题最难的一点就是如何储存已经被访问过的状态,如果直接开一个bool数组,空间肯定会炸,所以我们要用另一个数据结构存,STL大法好,用map来存,直接AC. AC代 ...
- 合并两个django的queryset
有queryset:A和B 要合并它们,根据网上的答案,貌似是用itertools库的chain对象比较好,地址 c=chain(x,y) 但是当c用于分页的时候,就有问题,会报chain没有le ...
- JavaScript sort()方法总结
sort() 方法用于对数组的元素进行排序. 语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. 注:如果调用该方法时没有使用参数,将按字母顺序对 ...
- RepeatSubmitInterceptor extends HandlerInterceptorAdapter
package com.ruoyi.framework.interceptor; import java.lang.reflect.Method; import javax.servlet.http. ...
- PAT Basic 插⼊与归并(25) [two pointers]
题目 根据维基百科的定义: 插⼊排序是迭代算法,逐⼀获得输⼊数据,逐步产⽣有序的输出序列.每步迭代中,算法从输⼊序列中取出⼀元素,将之插⼊有序序列中正确的位置.如此迭代直到全部元素有序.归并排序进⾏如 ...