from flask import Flask
app = Flask(__name__) # 创建Flask对象
?
route(‘/‘) # url路由,装饰器 .
def hello_world():
return ‘Hello, World!‘
设置环境变量(win环境set) set FLASK_APP=hello.py
运行服务器 flask run
90
改进(代码修改后自动重启服务器):
set FLASK_ENV=development
flask run
还是很麻烦啊!!!!!!!!!,那就这样呗
from flask import Flask
app = Flask(__name__) # 创建Flask对象
?
route(‘/‘) # url路由,装饰器 .
def hello_world():
return ‘Hello, World!‘
?
if __name__ == "__mian__":
app.run(debug=True)
正则匹配,限制参数输入。匹配失败url无效。
缺省(默认是string,但是不能有斜杠)
route(‘/user/<username>‘) .
def get_username( username ):
return "username: "+username
?
# http://127.0.0.1:5000/user/陈墨
规定数据类型(int)
route(‘/age/<int:age>‘) .
def get_age(age):
return "age is int : " + str(age)
# http://127.0.0.1:5000/age/21
多个变量(2个)
@app.route(‘/people/<string:name>/<int:age>‘)
def get_people(name, age ):
return "name: %s, age %s! " %(name, age )
# http://127.0.0.1:5000/people/陈墨/24
前奏,两个路由函数:
照本宣科,浏览器请求 :
127.0.0.1:5000/projects: 服务端没有匹配到projects,服务器加’/‘,重定向projects/
127.0.0.1:5000/about: 匹配到about,正常回复浏览器
简而言之一句话: 初次匹配失败,加’/‘再匹配;再失败,拜拜
意外之事: 浏览器硬缓存捣蛋
首次请求127.0.0.1:5000/projects, 由于重定向浏览器再次请求127.0.0.1:5000/projects时,浏览器自动替换成127.0.0.1:5000/projects/
redirect() 重定向到其他的url
about() 中断请求并带错误信息
缺省情况是get请求
服务端程序:
from flask import Flask, request
app = Flask( __name__ )
?
route("/", methods=[‘GET‘,‘POST‘] ) # 测试1 , .
def test_http():
return str( request.method )
route("/get")# 测试2,缺省为get .
def test_get():
return "only get "
http请求:
# 测试1
a = requests.get( "http://127.0.0.1:5000/") # 通过
print a.content
?
b = requests.post( " http://127.0.0.1:5000/") # 通过
print b.content
?
# 测试2
c = requests.get(" http://127.0.0.1:5000/get")# 通过
print c.content
?
d = requests.post(" http://127.0.0.1:5000/get") # 失败,路由是get
print d.content
请求对象:
post:
if request.method == ‘POST‘: # post请求
form = request.values # 表单
name = form["name"] # 表单元素
age = form["age"]
return "post-----> name: %s, age:%s=d" % (name, age )
get:
# 请求网站 http://127.0.0.1:5000/post?name=chenyangyang&age=24
name = request.args.get("name") # 取name的值
age = request.args.get("age") # 取age的值
return "get-----> name %s, age:%s " %( name, age )
渲染模板a
程序同目录下创建 ”templates“文件夹, html文件位置。
程序代码: render_template( "/test_01.html" ) # 程序自动在templetes文件夹下寻找
静态文件
程序同目录下创建”static“文件夹,存放静态文件
html页面中使用url_for构造url使用。
url构造的使用
@app.route("/cookies") # 第一次访问设置cookies,
def set_cookies():
ret = make_response("hello") # 创建响应体对象
ret.set_cookie("home","甘肃") # 设置cookies
return ret
?
?
@app.route("/cookies2") # 第二次访问使用cookies
def set_cookies2():
name main= request.cookies.get("home","无家可归的浪子") # 获取cookies,cookie不存在则返回后面参数
ret = make_response(name)
return ret
+ 结合布局模板实现的用户反馈机制
+ 多种消息
+ 消息过滤显示
原文:https://www.cnblogs.com/chenmotongxue/p/14713695.html