作者:kenson4930 | 来源:互联网 | 2017-05-14 02:44
Flask是一个非常优秀的web框架,它最大的特点就是保持一个简单而易于扩展的小核心,其他的都有用户自己掌握,并且方便替换,甚至,你可以在社区看到众多开源的,可直接用于生产环境下的扩展。到目前为止,我相信关于他的介绍以及非常的多,就算cnblog中,随便一搜也会有很多内容,但还是抛砖引玉,就当是一个自我的总结
部署环境
安装python
首先,当然是安装python环境,去官网来下载最新的环境(我选择最新的3.6版本)
然后一路下一步即可,注意记录或选择一下安装路径。
环境变量
接下来配置环境变量与java几乎一样,path后;.;输入python的安装路径,然后再次;,;输入python目录下的Scripts文件夹,已使用py自带的一些工具(如pip)
安装flask
配置完成pip后,安装flask就很简单了,输入cmd进入控制台,然后输入如下命令即可:
pip3.6 install flask
开发工具
工欲善其事必先利其器,开发工具的选择很重要,我选择的是pycharm,也可从官网下载,以及请大家使ji用huo正fang版shi
开始开发
首先,打开pycharm,创建一个Pure Python项目:
from flask import Flask #导入Flask类
app=Flask(__name__) #创建Flask类的一个实例
if __name__=='__main__': #Python入口程序
app.run(debug=True) #使其运行于本地服务器上
这是可将cmd控制台的目录切换至项目目录,输入命令:
python default.py
导入Flask类后,运行脚本时会自动创建WSGI程序
如图显示即为正确:
@app.route("/")
def index():
return "hello world
"
此时访问,页面如下:
@app.route("/user/")
def user(name):
return "hell %s
"%name
在浏览器中输入:
127.0.0.1:5000/user/niufen
此时输入为:
@app.route("/user",methods=["POST"])
def user():
name=request.args.get("name")
return "hell %s
"%name
即可
请求上下文
flask还有请求上下文对象,即request,如:
from flask import request #页头 导入request对象
@app.route(/req_test)
def req_test():
val=""
for key,value in request.args.items():
val+=" %s = %s
"%(key,value)
return val;
在控制台输入exit()后,继续输入python default.py进入服务器
此时在浏览器中输入url:
127.0.0.1:5000/req_test?age=5&name=abc
此时浏览器中显示为:
@app.route(/req_test)
def req_test():
val=""
for key,value in request.headers.items():
val+=" %s = %s
"%(key,value)
return val;
浏览器显示为:
from flask import make_response #页头,导入make_response对象
@app.route("/res_test")
def res_test():
respOnse=make_response("hello world
此代码的内容为在响应的时候设置COOKIE
在浏览器中输入地址:
127.0.0.1:5000/res_test
在页面中显示为黑体hello world,但是可以查看浏览器,发现响应内容已经存入浏览器的COOKIE中 如图:
from flask import redirect # 页头,导入redirect对象
@app.route("/")
def index():
return redirect("www.baidu.com/")
此时访问将直接跳转至百度
其他常用功能:响应码
普通响应码可直接在return的返回字符串后使用,如:
@app.route("/")
def index():
return "hello world
",400
访问结果如下:
from flask import abort #导入abort对象
@app.route('/user/')
def user(name):
if name =='test':
abort(500)
return "hello %s!
"%name
此代码的功能是当name的值为test是,返回错误码为500,注意此时页面不会显示内容,因为此时程序不由代码控制,而将控制权交给了系统。
至此,flask基础知识已经讲完,现在已经可以做一些简单的程序,但是肯定不会如此的做,就像只用servlet,不用jsp页面或其他模板也可以做出很绚丽的系统,但大部分还是需要jsp页面或其他模板页作为支撑,下一章将说明在系统中如何使用jinja2模板引擎和wtf表单插件。
以上就是带你入门python(基于flask的web应用)的学习的详细内容,更多请关注 第一PHP社区 其它相关文章!