1、路由:

route() 装饰器用于把一个函数绑定到一个 URL,可以动态变化 URL 的某些部分,还可以为一个函数指定多个规则,从而方便用户访问与记忆。

例子:

@app.route('/')        #调用一个app的route方法
def hello_work(): #定义一个处理方法
return '<h1>hello world</h1>'

@app.route('/test') #创建第二个应用,并指定访问路径
def index():
return 'index page'

全部代码为:

  #coding=utf-
from flask import Flask #导入flask类
app = Flask(__name__) #生成该类的一个实例 @app.route('/') #调用一个app的route方法
def hello_work(): #定义一个处理方法
return '<h1>hello world</h1>' @app.route('/test') #创建第二个应用,并指定访问路径
def index():
return 'index page' if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行
#app.debug = True #第一种方式:在应用对象上设置标志
#app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法

执行程序,状态为:

# python hello.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
192.168.168.80 - - [/Apr/ ::] "GET / HTTP/1.1" -
192.168.168.80 - - [/Apr/ ::] "GET /test HTTP/1.1" -

两次访问在浏览器中的表现为:

             

2、变量规则:

第一个例子:

"第三个应用:标记url的一部分<username>,它可以添加变量,作为关键字参数传递给函数。"
@app.route('/user/<username>')
def show_user_message(username):
return 'user %s' % username

效果截图:

         

第二个例子:

"第四个应用"
@app.route('/post/<int:post_id>') #转换器有:int、float、path(和缺省状况相同,也接受/
def show_post(post_id):
return 'post %d' % post_id

效果截图:

      

第三个例子:

"第五个应用"
@app.route('/get/<float:get_nu>')
def test(get_nu):
return 'the test outcome: %f' % get_nu

效果截图:

至此,全部代码为:

       return '<h1>hello world</h1>'

  @app.route('/test')    #创建第二个应用,并指定访问路径
def index():
return 'index page' "-------------------------------------二、变量规则例子----------------------------------------"
"第三个应用:标记url的一部分<username>,它可以添加变量,作为关键字参数传递给函数。"
@app.route('/user/<username>')
def show_user_message(username):
return 'user %s' % username " 第四个应用"
@app.route('/post/<int:post_id>') #转换器有:int、float、path(和缺省状况相同,也接受/
def show_post(post_id):
return 'post %d' % post_id "第五个应用"
@app.route('/get/<float:get_nu>')
def test(get_nu):
return 'the test outcome: %f' % get_nu if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行
#app.debug = True #第一种方式:在应用对象上设置标志
#app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法

3、url重定向

第一个例子:

"第六个应用"
@app.route('/redirect/') #行为像文件夹,(若末尾没有斜杠,Flask会自动重定向加上)
def redirect():
return 'The redirect page'

效果:

   访问后的效果:

第二个例子:

  "第七个应用"
@app.route('/redirec') #行为像文件,若访问时在末尾加上斜杠,会得到404错误
def redirect():
return 'The second redirect page'

效果:

   末尾加上斜杠后的效果:

至此,全部代码为:

  #coding=utf-
from flask import Flask #导入flask类
app = Flask(__name__) #生成该类的一个实例 "------------------------------------一、URL例子--------------------------------------------"
@app.route('/') #调用一个app的route方法
def hello_work(): #定义一个处理方法
return '<h1>hello world</h1>' @app.route('/test') #创建第二个应用,并指定访问路径
def index():
return 'index page' "-------------------------------------二、变量规则例子----------------------------------------"
"第三个应用:标记url的一部分<username>,它可以添加变量,作为关键字参数传递给函数。"
@app.route('/user/<username>')
def show_user_message(username):
return 'user %s' % username " 第四个应用"
@app.route('/post/<int:post_id>') #转换器有:int、float、path(和缺省状况相同,也接受/
def show_post(post_id):
return 'post %d' % post_id "第五个应用"
@app.route('/get/<float:get_nu>')
def test(get_nu):
return 'the test outcome: %f' % get_nu "--------------------------------------三、唯一的URL/重定向行为-----------------------------"
#"第六个应用
#@app.route('/redirect/') #行为像文件夹,(若末尾没有斜杠,Flask会自动重定向加上)
#def redirect():
# return 'The redirect page'
#"
"第七个应用"
@app.route('/redirec') #行为像文件,若访问时在末尾加上斜杠,会得到404错误
def redirect():
return 'The second redirect page' if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行
#app.debug = True #第一种方式:在应用对象上设置标志
#app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法

flask笔记---url、变量规则的更多相关文章

  1. Flask变量规则(构建动态url)

    原文出处: http://codingdict.com/article/4867 可以通过将可变部分添加到规则参数来动态构建URL.这个变量部分被标记为 < variable-name>. ...

  2. Flask内置URL变量转换器

    Flask内置URL变量转换器: 转换器通过特定的规则执行,”<转换器: 变量名>”.<int: year>把year的值转换为证书,因此我们可以在视图函数中直接对year变量 ...

  3. <玩转Django2.0>读书笔记:URL规则和视图

    1. 带变量的URL #urls.py from django.urls import path from .view import * urlpatterns = [ path('',index_v ...

  4. flask笔记(三)Flask 添加登陆验证装饰器报错,及解析

    Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...

  5. Flask笔记1

    Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...

  6. Nginx应用-Location路由反向代理及重写策略 请求转发-URL匹配规则 NGINX Reverse Proxy

    NGINX Docs | NGINX Reverse Proxy https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ ...

  7. 使Flask的url支持正则表达式以及一个api小demo

    from flask import Flask from flask import jsonify from flask import request from werkzeug.routing im ...

  8. ES6学习笔记之变量的解构赋值

    变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...

  9. Django和Flask对于URL尾斜杠(back slash)的处理

    最近在看Flask,其中提到了对于URL尾斜杠的处理.感觉算是一个需要注意的地方吧,就和Django的处理方式来进行一个简单的对比. 首先说下什么是尾斜杠. http://www.baidu.com/ ...

随机推荐

  1. AOP 注入失败的问题

    启用了AOP 后,报这样的类似错误: Error creating bean with name 'bpmpSysUserService': Injection of autowired depend ...

  2. ElasticSearch快照备份及恢复

    工作步骤: 1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem): 2:建立快照仓储repository: 3:建立snapshot快照备份: 4:恢复snapshot快照 ...

  3. 【Codeforces 707C】Pythagorean Triples(找规律)

    一边长为a的直角三角形,a^2=c^2-b^2.可以发现1.4.9.16.25依次差3.5.7.9...,所以任何一条长度为奇数的边a,a^2还是奇数,那么c=a^2/2,b=c+1.我们还可以发现, ...

  4. 随机验证码生成(python实现)

    需求:生成随机不重复验证码. 代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @fi ...

  5. [bzoj1009][HNOI2008]GT考试

    Description 阿申准备报名参加考试,准考证号为位数,他不希望准考证号上出现不吉利的数字. 他的不吉利数学有位,不出现是指中没有恰好一段等于. 可以为. Input 第一行输入.接下来一行输入 ...

  6. pip卡住不动的解决方案

    用的是anaconda2,也就是python在windows下的最好的一键安装包,有numpy scipy matplotlib等常用包预装好了 最近搞caffe的python接口,需要装protob ...

  7. 【BZOJ-4059】Non-boring sequences 线段树 + 扫描线 (正解暴力)

    4059: [Cerc2012]Non-boring sequences Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 440  Solved: 16 ...

  8. Search and Replace搜寻与替换工具

    一个功能强大的搜寻与替代工具.它可以在同一部硬盘中对所有的文件进行搜寻与替换的功能,也可以对Zip文件中的文件做搜寻,支持特殊字符条件表达式搜寻,或是以脚本文件(Script)做搜寻替换工作,也可以以 ...

  9. 你应该了解Nginx的7个原因

    Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 1 负载均衡实 ...

  10. PowerDesigner 学习笔记

    软件:PowerDesginer16.5 首先说一下对应的模型 New Model  --->  Model Type 作为一个英语渣,实在是压力颇大,然而汉化经常会导致无故的BUG,所以简单翻 ...