Flask_学习笔记_02: URL和视图

今天来学习Flask中URL和视图的相关知识。

URL不多说了,访问网站,浏览器中的地址大家都可以看到,比如我的51CTO的blog网址是:http://blog.51cto.com/jiaszwx

如果你在地址栏里敲:http://blog.51cto.com/ 那么浏览器返回的是51CTO博客的主页。
如果你在地址栏里敲:http://blog.51cto.com/jiaszwx 那么浏览器返回的是我的51CTO博客主页。
一个网站地址有共同的前缀,但是有很多的子网页,不同的子网页就是通过URL里的参数来表示的,例如上面的例子。重点来了,在Flask当中,如何来表示URL的参数呢?记住,一定要用尖括号括起来。例如:<id>,<name>,<location>.......,那么放到哪里呢?放到路由的括号里。 要像这样:@app.route('/article/<id>')
这个是重点!!!!!
URL中的参数一定要用尖括号括起来!
URL中的参数一定要用尖括号括起来!
URL中的参数一定要用尖括号括起来!
重要的事情说三遍。。。

OK!现在参数定义好了,那如何跟视图函数对应起来呢?直接作为视图函数的参数传给它就好了,如下:

@app.route('/article/<id>') #URL的参数表示方法
def article(id): #在视图函数中直接引用URL中的参数即可得到参数的值
    return "Your request parameter is %s" %id

来看一个实际例子,完整代码如下:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_flask():
    return "Hello World! This is my first Flask! Welcome to Flask! Flask is Fun and Easy to setup!"

@app.route('/article/<id>') #URL的参数表示方法
def article(id): #在视图函数中直接引用URL中的参数即可得到参数的值
    return "Your request parameter is %s" %id

if __name__ == '__main__':
    app.run(debug=True)

实际效果见下图:
在地址栏中输入:http://127.0.0.1:5000/ 会显示下面的页面:
Flask_学习笔记_02: URL和视图

在地址栏中输入带参数的URL:http://127.0.0.1:5000/article/asdf111223 则会显示下面的页面:
Flask_学习笔记_02: URL和视图

/article/ 后面的参数是任意的,现在是手动输入,但是现实中都是从数据库中直接取出来的,现在只要了解如何来定义URL参数就可以了,后面数据从哪里来,还是你说了算。

继续再跟个例子,加深一下印象。这次加一个名字参数,代码如下:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_flask():
    return "Hello World! This is my first Flask! Welcome to Flask! Flask is Fun and Easy to setup!"

@app.route('/article/<id>')
def article(id):
    return "Your request parameter is %s" %id

@app.route('/userinfo/<name>')
def userinfo(name):
    return "User name is: %s" %name

if __name__ == '__main__':
    app.run(debug=True)

运行一下,各位客官老爷看一下效果:
Flask_学习笔记_02: URL和视图

猜你喜欢

转载自blog.51cto.com/jiaszwx/2311938