rest in actionsult. in。sth什么意思

(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
&&|&&0次下载&&|&&总57页&&|
您的计算机尚未安装Flash,点击安装&
如需下载到电脑,请使用积分()
0人评价1页
0人评价2页
0人评价4页
0人评价2页
0人评价1页
所需积分:(友情提示:所有文档均可免费全文预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
若此文档涉嫌侵害了您的权利,请参照说明。
评价文档:consult sb. on sth.什么意思及同义词
沪江词库精选consult sb. on sth.是什么意思、英语短语。
中文释义: 与某人商量某事
询问某人的意思,顾及某人的意愿
v. 通夜思考
找医生诊治
n. 总领事馆
建立理论,创立学说
为…下定义
2016consult sb. on sth.是什么意思由沪江网提供。您所在的位置: &
Flask 学习(二)路由
时间: 编辑:feesland 来源:CnBlogs
Flask& 路由
  在说明什么是 Flask&路由之前,详细阐述下 Flask &Hello World&&这一 最小应用的代码。
  Flask &Hello World&
from flask import Flask
Flask(__name__)
@app.route('/')
def hello():
return 'Hello World'
if __name__ = '__main__':
    剖析上述代码:
    1. 首先,我们导入了类 Flask 。这个类的实例化将会是我们的 WSGI 应用。第一个参数是应用模块的名称。 如果你使用的是单一的模块(就如本例),第一个参数应该使用 __name__。因为取决于如果它以单独应用启动或作为模块导入, 名称将会不同 ( '__main__' 对应于实际导入的名称)。
    2. 接着,我们创建一个该类的实例。我们传递给它模块或包的名称。这样 Flask 才会知道去哪里寻找模板、静态文件等等。    3. 之后,我们使用装饰器 route() 告诉 Flask 哪个 URL 才能触发我们的函数。这也就是路由,博文之后会详细学习。    4. 之后 ,定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。    5. 最后,我们用函数 run() 启动本地服务器来运行我们的应用。if __name__ == '__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
    服务器外部可见:
      目前服务器 仅可本机 localhost 访问,这是因为默认情况下,调试模式,应用中的一个用户可以执行你计算机上的任意 Python 代码。
      如果你关闭 debug 或者信任你所在网络上的用户,你可以让你的服务器对外可用,只要简单地改变方法 run() 的调用像如下这样:
      &app.run(host='0.0.0.0')& 这让你的操作系统去监听所有公开的 IP。
 & 调试模式
    有两种方式开启调式模式:加入语句,应用对象上设置标志位:& &app.debug = True&&
                或者作为 run 的一个参数传入: & app.run(debug=True)&& 作为 run 的一个参数传入。
    调试模式有安全隐患,决不可在生产环境使用,参考如下:
Even though the interactive debugger does not work in forking environments (which makes it nearly impossible to use on production servers), it still allows the execution of arbitrary code. This makes it a major security risk and therefore it must never be used on production machines.
      打开调试模式下,若网页出错,示例显示如:
  Flask&路由
      所谓 路由,即 URL 绑定,route() 装饰器用于把一个函数绑于一个URL上,
from flask import Flask
Flask(__name__)
@app.route('/')
def indexPage():
return 'Index Page'
@app.route('/flask')
def flaskPage():
return 'Flask Page'
if __name__ == '__main__':
      如上示例,把 "/" url 绑了indexPage() 函数,把"/flask" url 绑了flaskPage() 函数。
  HTTP请求模拟工具:这边需要使用到HTTP请求工具来查看,chrome可用插件postman;firefox可用HttpRequest。具体使用这边就不介绍了,很简单。
      运行后,请求url&
      以上仅是最简单的url构造,你可以动态地构造 URL 的特定部分,也可以在一个函数上附加多个规则。
   变量规则
      给 URL 增加变量的部分,把一些特定的字段标记成 &variable_name&。这些特定的字段将作为参数传入到你的函数中。
      当然也可以指定一个可选的转换器通过规则 &converter:variable_name&。
      先看以下示例(之后示例均省略上下文代码):
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
      即简单的URL增加变量,运行后请求的URL需带参数&
      存在如下转换器: ,示例代码如下:
@app.route('/userid/&int:user_id&')
def show_userId(user_id):
# show the user_id, the id
is an integer
return 'User ID: {0}'.format(user_id)
      URL&须在 "/userid/" 后传递一个整数,运行后如
&   HTTP 方法
      默认情况,创建的URL路由是Get方法,可在通过给 route() 装饰器提供 methods 参数来改变 HTTP 方法,有关HTTP协议相关,请Google相关文档。
@app.route("/postUser", methods=["POST"])
def hello_user():
return "Post User"
      上述示例即为一 Post 方法的路由,运行后直接访问会报405,因为该请求方式 应为 Post,这边使用 FireFox 插件 HttpRequester 来模拟
      
      更改为 Post 方式,
      最常用的方式即 Post 和 Get,其他的还有 Delete、Put 等,需用时请阅相关的文档。
&   Request
      须要引入request&&&from flask import Flask, request& ,来进行request参数的传值,具体示例如下:
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
&      & 有没有很熟悉? 再看下多参数的,如下例:
@app.route("/query_page")
def query_page():
= request.args.get("pageid")
= request.args.get("num")
return "query page: {0} and {1}".format(pageid,num)
      
  URL 构建
      根据函数名反向生成url。可以使用函数 url_for() 来针对一个特定的函数构建一个 URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 URL 中作为查询参数。
      须要引入 url_for,&from flask import Flask, request, url_for&& 路由的构建为之前的示例& (这里使用了 test_request_context() 方法,下面会给出解释。这个方法告诉 Flask 表现得像是在处理一个请求。)
@app.route('/')
def indexPage():
return 'Index Page'
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
with app.test_request_context():
print url_for('indexPage')
print url_for('query_user',id=100)
      
      URL的构建在实际项目中比较常用,为什么你愿意构建 URLs 而不是在模版中硬编码?这里有三个好的理由:
        & 反向构建通常比硬编码更具备描述性。更重要的是,它允许你一次性修改 URL, 而不是到处找 URL 修改。        & 构建 URL 能够显式地处理特殊字符和 Unicode 转义,因此你不必去处理这些。        & 如果你的应用不在 URL 根目录下(比如,在 /myapplication 而不在 /), url_for() 将会适当地替你处理好。
热门关键字

我要回帖

更多关于 rest in practice pdf 的文章

 

随机推荐