一句话讲清楚url_for是干嘛的,就是高级版的重定向redirect。
就好比,yield是高级版的return一样。
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import os
from flask import Flask,request,url_for
app=Flask(__name__)
@app.route('/test')
def query_user():
'''
http://127.0.0.1:5000/test?id=123
'''
id = request.args.get('id')
return 'query user:'+id
#url_for的作用:输入的函数名=>url_for(函数名)=>得到函数头顶上的app.route里面的东西☆☆☆☆☆☆
#url_for就是用来重定向的,但是可以抵抗@app.route(x)里面的名字被修改成y以后redirect(x)也需要对应修改成redirect(y)
@app.route('/query_url')
def query_url():
'''
反导出 query_user函数名对应的url地址
'''
print url_for('query_user')
return url_for('query_user')
#url作用:
# 参考该链接:
# https://segmentfault.com/q/1010000003827928
# url_for本身可以传参数,所以模拟客户端的任意请求url:
# 1.业务代码里面用来做重定向
# 2.单元测试中可以构造请求
def killport(port):
command='''kill -9 $(netstat -nlp | grep :'''+str(port)+''' | awk '{print $7}' | awk -F"/" '{ print $1 }')'''
os.system(command)
if __name__ == '__main__':
killport(5000)
app.run()
# 代码来自:
#参考链接1:http://blog.csdn.net/weiyongxuan/article/details/48544629
#参考链接2:https://segmentfault.com/q/1010000003827928