flask笔记---url、变量规则
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、变量规则的更多相关文章
- Flask变量规则(构建动态url)
原文出处: http://codingdict.com/article/4867 可以通过将可变部分添加到规则参数来动态构建URL.这个变量部分被标记为 < variable-name>. ...
- Flask内置URL变量转换器
Flask内置URL变量转换器: 转换器通过特定的规则执行,”<转换器: 变量名>”.<int: year>把year的值转换为证书,因此我们可以在视图函数中直接对year变量 ...
- <玩转Django2.0>读书笔记:URL规则和视图
1. 带变量的URL #urls.py from django.urls import path from .view import * urlpatterns = [ path('',index_v ...
- flask笔记(三)Flask 添加登陆验证装饰器报错,及解析
Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...
- Flask笔记1
Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...
- Nginx应用-Location路由反向代理及重写策略 请求转发-URL匹配规则 NGINX Reverse Proxy
NGINX Docs | NGINX Reverse Proxy https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ ...
- 使Flask的url支持正则表达式以及一个api小demo
from flask import Flask from flask import jsonify from flask import request from werkzeug.routing im ...
- ES6学习笔记之变量的解构赋值
变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...
- Django和Flask对于URL尾斜杠(back slash)的处理
最近在看Flask,其中提到了对于URL尾斜杠的处理.感觉算是一个需要注意的地方吧,就和Django的处理方式来进行一个简单的对比. 首先说下什么是尾斜杠. http://www.baidu.com/ ...
随机推荐
- JavaScript写一个连连看的游戏
天天看到别人玩连连看, 表示没有认真玩过, 不就把两个一样的图片连接在一起么, 我自己写一个都可以呢. 使用Javascript写了一个, 托管到github, 在线DEMO地址查看:打开 最终的效果 ...
- python日常-list and dict
什么是list: list 觉得算是python日常编程中用的最多的python自带的数据结构了.但是python重的list跟其他语言中的并不相同. 少年..不知道你听说过python中的appen ...
- 用MathType编辑横三角形的方法
如果常常接触数学公式,你会发现同一个符号如果变换方向使用就可以代表不同的数学含义,这是非常常见的一种数学现象了.对于这种情况在数学公式编辑器中,我们可以使用不同的模板来进行编辑.比如横着的三角形符号, ...
- Java 垃圾收集机制
对象引用 Java 中的垃圾回收一般是在 Java 堆中进行,因为堆中几乎存放了 Java 中所有的对象实例.谈到 Java 堆中的垃圾回收,自然要谈到引用.在 JDK1.2 之前,Java 中的引用 ...
- javac 编译与 JIT 编译
编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...
- iOS 蓝牙开发(三)app作为外设被连接的实现(转)
转载自:www.cocoachina.com/ios/20151105/14071.html 原作者:刘彦玮 再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用ap ...
- camerc文件播放
下载CamtasiaStudio 5中文版,打开CamtasiaStudio.exe在左边有生成选项,点左边工具框内添加/导入媒体,则选择下面的批量生成.弹出添加文件的菜单点添加文件,加入你要转换的c ...
- 翻滚吧,Spark (错误记录)
1) 本地运行报错: Exception in thread "main" org.apache.spark.SparkException: A master URL must b ...
- [iOS 利用MapKit和CoreLocation框架打造精简的定位和导航]
运行效果: 一.利用<CoreLocation/CoreLocation.h>定位 创建变量 CLLocationManager *locationManager , ...
- 编写 unix和 windows的 Scala 脚本
编写 unix和 windows的 Scala 脚本 今天在看<Scala 编程>的时候看到附录了,里面提到了怎么在 unix 和 windows 下面编写 scala 脚本. 之前我也一 ...