视频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. 安装eclipse步骤以及配置jdk

    1.官网下载eclipse 2.下载jdk并且安装,记住自己安装路径 3.配置jdk环境变量 在高级系统设置里面配置 新建: 用户变量:“变量名”:JAVA_HOME “变量值”:C:\Program ...

  2. Cf水题B - Combination

    地址: https://vjudge.net/problem/27861/origin Ilya plays a card game by the following rules. A player ...

  3. winter_holiday_2019

    个人逐利对他人的影响:私营企业主的个人付出.作为长辈对晚辈的付出 是2020要实现精准扶贫吗?精准扶贫的概念,是针对一个家庭还是针对家里的每个人的平均收入.精准扶贫比教育更有作用,刘传铁(湖北省委高校 ...

  4. image compression with libjpeg

    http://www.aaronmr.com/en/2010/03/test/ Working on the project I've seen in the need for compression ...

  5. 吴裕雄--天生自然MySQL学习笔记:MySQL 管理

    启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysql/bin mys ...

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

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

  7. 你需要知道的 N 种抓取 dump 的工具

    原总结注册表debug调试dump转储文件windbgprocdump 前言 今天,向大家介绍几种可以抓取应用程序转储文件的工具及基本使用方法.更详细的用法,请参考每个工具对应的帮助文档.如果你还不清 ...

  8. Java搭建WebSocket的两种方式

    下面分别介绍搭建方法:一.直接使用Java EE的api进行搭建.一共3个步骤:1.添加依赖<dependency>    <groupId>javax</groupId ...

  9. Codeforces620E New Year Tree

    挺好的一道题 Description link 给一棵树,每个点有颜色 \(c_i\) 为点权,需要实现以下两种操作: 子树修改颜色(覆盖),查询子树颜色种类 \(n \leq 4 \times 10 ...

  10. Lua与C++交互初探之C++调用Lua

    Lua与C++交互初探之C++调用Lua 自从学习了lua这个脚本语言之后,无时不想着将他与c/c++联系起来,看看他真正的威力.奈何水平有限,网上找的代码无论怎样都无法运行成功.我知道是我少了某一步 ...