预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共27页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Flask之旅《FlaskWeb开发:基于Python的Web应用开发实战》学习笔记1虚拟环境2016-6-8书上介绍了virtualenv,每个venv都会拷贝一份packages到项目/venv目录。[plain]viewplaincopy1.virtualenvvenv2.venv\Scripts\activate.bat3.(venv)$pipfreeze>requirements.txt4.(venv)$pipinstall-rrequirements.txt5.piplist--outdated6.pipinstall--upgarade<Package1><PackageN>比较了一下conda管理环境,可能conda更胜一筹:点击打开链接或者用virtualenvwrapper:点击打开链接[plain]viewplaincopy1.gittag列出所有打tag的分支2.gitcheckout<tag_name>切换到tag3.gitreset--hard不保留修改.gitignore:指定哪些文件或目录不作同步,比如./venv/,*.pyc,数据库文件.sqlite3,.mysql推荐IDE:PyCharm2016.1导入已有的virtualenv:File->Setting->ProjectInterprater->选择项目目录下的/venv/Python特点:->newFlaskProject->jumpbetweenViewfuncionandTemplates->Git2基本结构初始化:[python]viewplaincopy1.#-*-coding:utf-8-*-2.fromflaskimportFlask3.app=Flask(__name__)Flask类的构造函数只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序中,Python的__name__变量就是所需的值。Flask用这个参数决定程序的根目录,以便稍后能够找到相对于程序根目录的资源文件位置路由(route)和视图函数(viewfunction):定义路由的最简便方式,是使用程序实例提供的app.route修饰器,把修饰的函数注册为路由[python]viewplaincopy1.@app.route('/')2.defindex():3.return'<h1>HelloWorld!</h1>'修饰器是Python语言的标准特性,可以使用不同的方式修改函数的行为。惯常用法是使用修饰器把函数注册为事件的处理程序。动态路由:地址中可以包含可变部分,Flask支持在路由中使用int、float和path类型。path类型也是字符串,但不把斜线视作分隔符[python]viewplaincopy1.@app.route('/user/<name>')2.defuser(name):3.return'<h1>Hello,%s!</h1>'%name4.@app.route('/user/<int:id>')#不能有空格!5.def...默认端口是5000,可以改成其它的(flask_script.Manager也有此功能)#有些端口不能用,查询已占用的端口:netstat-ano;netstat-aon|findstr"6000";tasklist|findstr"<PID>";taskkill/f/t/imXXX.exe[python]viewplaincopy1.app.run(debug=True,port=7777)1.公认端口(WellKnownPorts):从0到1023,紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务协议。80端口实际上总是HTTP通讯。2.注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。3.动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。请求-响应循环Context上下文全局变量:•current_app程序上下文当前激活程序的程序实例•g程序上下文处理请求时用作临时存储的对象。每次请求都会重设这个变量•request请求上下文请求对象,封装了客户端发出的HTTP请求中的内容•session请求上下文用户会话,用于存储请求之间需要“记住”的值的词典URL映射是URL和视图函数之间的对应关系。Flask使用app.route修饰器或者非修饰器形式的app.add_url_rule()生成映射。[python]viewplaincop