视频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的基本原理与核心知识的更多相关文章

  1. 学习python-20191208(1)-Python Flask高级编程开发鱼书_第03章_数据与flask路由

    视频01: 略...... ———————————————————————————————————————————————————————————— 视频02: 搜索需要外部数据源,也就是需要外部的A ...

  2. 学习python-20191230(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频06: 1.自动导包快捷键——默认为alt + enter 键组合          选中的字符由小写变为大写——Ctrl + Shift + U键组合 2.DataRequired()——防止用 ...

  3. 学习python-20191217(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频01: flask框架:最上层是app,它就像一个插线板一样,比如可以插入蓝图,还可以插入其他各种flask插件. 每个蓝图又可以插入很多视图函数,并可指定静态文件夹和模板文件夹. 好的代码结构, ...

  4. 学习python-20191208(2)-Python Flask高级编程开发鱼书_第03章_数据与flask路由

    视频06: 定义静态方法的两种方式: 1.在方法上方加上装饰@staticmethod 2.在方法上方加上装饰@classmethod  方法中要加参数cls  如:def search_by_isb ...

  5. Python Flask高级编程

    第1章 课程导语介绍课程的内容1-1 开宗明义 试看1-2 课程维护与提问 第2章 Flask的基本原理与核心知识本章我们首先介绍Python官方推荐的最佳包与虚拟环境管理工具:Pipenv.接着我们 ...

  6. Python的几个高级编程技巧

    Python有一些技巧对你来说是新知识,但是还有一些技巧会让你的代码效率大幅提升. 本文总结了一下自己用到的一些Python高级编程技巧,希望对大家有帮助. 列表生成器 a=[1,2,3] [x*x ...

  7. python基础之面向对象高级编程

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个"函数"供使用(可以讲多函数中公用的变量封装到对象中) ...

  8. python高级编程之描述符与属性02

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #元描述符 #特点是:使用宿主类的一个或者多个方法来执行一个任务,可 ...

  9. Python基础——7面向对象高级编程

    实例与类动态添加方法 实例添加属性: def Student(object): pass s = Student() s.name = ‘syz’ 实例添加方法 from types import M ...

随机推荐

  1. SQL基础教程(第2版)第4章 数据更新:4-1 数据的插入(INSERT)

    第4章 数据更新:4-1 数据的插入(INSERT) ● 将列名和值用逗号隔开,分别括在()内,这种形式称为清单.● 对表中所有列进行INSERT操作时可以省略表名后的列清单.● 插入NULL时需要在 ...

  2. MySQL--InnoDB 关键特性

    插入缓冲 Insert Buffer 对于非聚集索引的插入或更新操作,不是每一次直接插入到索引页中,而是先判断插入的非聚集索引页是否在缓冲池中,若在,则直接插入:若不在,则先放入到一个 Insert ...

  3. 01Java-方法

    一:动手动脑 1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 package reserve; import java.util.Scanner; import java.ut ...

  4. Linux-线程引入

    1.使用进程技术的优势 (1).CPU分时复用,单核心CPU可以实现宏观上的并行 (2).实现多任务系统需求(多任务的系统是客观的) 2.进程技术的劣势 (1).进程间切换开销大 (2).进程间通信麻 ...

  5. 为什么常用 Map<> map = new HashMap()

    在初学Java的时候,经常能看到教材上的写法,使用了接口Map来引用一个map,而不是它的具体实现,那么这样做的好处是什么呢? <Effective Java>第52条:通过接口引用对象 ...

  6. Dojo Grid结合Ajax用法

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomerDefine ...

  7. I420转RGB

    http://blog.csdn.net/huiguixian/article/details/17288909 public class YuvToRGB { private static int  ...

  8. PIL对象和numpy三维数组的互相转换

    #https://stackoverflow.com/questions/384759/how-to-convert-a-pil-image-into-a-numpy-array from PIL i ...

  9. ubuntu19.10安装cuda-10.1

    ubuntu19.10安装cuda-10.1 1.安装N卡驱动: 打开ubuntu的软件和更新,设置N卡驱动 2.查看ubuntu显卡驱动 nvidia-smi 显示: Sun Feb 23 06:4 ...

  10. ZJNU 1422 - 碰撞的小球

    完全弹性碰撞可以视作互相穿过 所以直接考虑只有单个小球的时候,从板子上滑下所需要的时间即可 最后以30000为界分开流读入与缓冲区优化的io方法 //Case4用缓冲区io优化会WA??? /* Wr ...