学习python-20191203(1)Python Flask高级编程开发鱼书_第01章 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下进入此目录,执行 pipenv install

三、查看虚拟环境

  不进特定的虚拟环境,直接输入命令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=5001指定端口

原文地址:https://www.cnblogs.com/hzjdpawn/p/11978749.html

时间: 2024-10-04 22:46:23

学习python-20191203(1)Python Flask高级编程开发鱼书_第01章 Flask的基本原理与核心知识的相关文章

Python Flask高级编程

第1章 课程导语介绍课程的内容1-1 开宗明义1-2 课程维护与提问 第2章 Flask的基本原理与核心知识本章我们首先介绍Python官方推荐的最佳包与虚拟环境管理工具:Pipenv.接着我们来学习唯一URL原则.重定向.响应对象Response.2-1 鱼书是一个什么样的产品2-2 准备工作2-3 使用官方推荐的pipenv创建虚拟环境(很好用哦~)2-4 开发工具推荐2-5 设置开发工具的默认解释器2-6 flask最小原型与唯一URL原则2-7 路由的另一种注册方法2-8 app.run

python flask高级编程视频教程

课程目录部分截图: 下载地址:百度网盘下载 原文地址:https://www.cnblogs.com/stephae/p/10171715.html

C++学习笔记(六):高级编程:模板,预处理器,信号处理,多线程,Web编程

模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码. 模板是创建泛型类或函数的蓝图或公式. 库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念. 每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如vector <int>和vector <string>. 您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用. 函数模板 模板函数定义的一般形式如下所示: template <class type>

flask高级编程-LocalStack线程隔离

30.LocalStack作为线程隔离对象的意义 30.1 数据结构 限制了某些能力 30.2 线程隔离 # -*- coding=utf-8 -*- import threading import time from werkzeug.local import LocalStack my_stack = LocalStack() my_stack.push(1) print('in main thread after push, value is:' + str(my_stack.top))

C++学习笔记(五):高级编程:文件和流,异常处理,动态内存,命名空间

C++ 文件和流 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流. 本教程介绍如何从文件读取流和向文件写入流. 这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型: 要在 C++ 中进行文件处理,必须在 C++ 源代码文件中包含头文件 <iostream> 和 <fstream>. 打开文件 在从文件读取信息或者向文件写入信息之前,必须先打开文件.ofstream 和

学习BoolanC++笔记_04(C++面向对象高级编程(下)第五周)

作者: ayaoko 出处: http://www.cnblogs.com/fyc006/> 关于作者:小可才疏学浅还请多多赐教! 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件([email protected])咨询. 对象模型: 关于vptr和vtbl.关于this.关于Dynamic Binding 动态绑定:指针 虚函数 向上转型. A* pa=new B; pa->vfunc1(); 多态vfunc1:

学习BoolanC++笔记_03(C++面向对象高级编程(上)第三周)

作者: ayaoko 出处: http://www.cnblogs.com/fyc006/> 关于作者:小可才疏学浅还请多多赐教! 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件([email protected])咨询. 作者:ayaoko 出处:http://www.cnblogs.com/fyc006/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则

node.js高级编程|node.js 视频教程_基于node.js+Express.js+Jade+MongoDB实战开发

基于node.js+Express.js+Jade+MongoDB开发Web即时聊天系统课程讲师:幻星课程分类:前端开发适合人群:初级课时数量:36课时更新程度:完成用到技术:Node.js NPM. Express.NoSQL,MongoDB涉及项目:匿名聊天网站系统node.js视频教程:http://www.ibeifeng.com/goods-462.htmlnode.js 教程适合人群:node.js视频教程要求学员了解JavaScript,node.js入门教程适合希望更深入的学习N

C#高级编程第11版 - 第十二章

导航 C# 全版本特性一览 全书目录 第十二章 Language Integrated Query 12.1 LINQ 概述 243 12.1.1 列表和实体 244 12.1.2 LINQ 查询 246 12.1.3 扩展方法 246 12.1.4 推迟查询的执行 248 12.2 标准的查询操作符 249 12.2.1 筛选 250 12.2.2 用索引筛选 251 12.2.3 类型筛选 252 12.2.4 复合的from 子句 252 12.2.5 排序 253 12.2.6 分组 2