Flask-Web开发入门(路由和视图)

对与上一篇深刻理解

@app.route("/<name>")
def hello(name):
   return "hello world"

这三行代码定义了一个URL到Python函数的映射关系,将这种映射关系的程序称为路由,而hello函数就是视图函数。
动态路由

@app.route("/<name>")
def hello(name):
   return "<h1>hello %s</h1>" %name

Flask支持这种动态形式的路由,路由中的动态部分默认时字符串,也支持使用int、float.比如路由/articles/只会匹配动态片段id为整数的URL
https://hello.com/articles/100,https://hello.com/articles/101,但不匹配
https://hello.com/articles/the-first-article 这种 URL。
反向路由
从函数获取该函数的url地址

from flask import Flask,url_for


app=Flask(__name__)

@app.route('/query_url')
def query():
    return "查询的地址为:"+ url_for('query')


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

这里写图片描述

静态文件
即不会被改变的文件,比如图片,CSS文件和JavaScript原码文件。默认情况下,Flask在程序根目录中名为static的子目录中寻找静态文件。因此可以将静态文件放置在此目录。
有时还会应用到第三方库,为了不跟CSS文件和JavaScript原码文件混起来,可以将这些第三方库放到lib文件夹或者vender文件夹
这里写图片描述
提供一个favicon图标
favicon是favorites icon的缩写,也被称为website icon(网页图标)。通常而言,定义一个favicon的方法是将一个名为“favicon.ico“的文件置于Web服务器的根目录下。但是,正如我们在上面指出,
我们一般将图片等静态资源放在一个单独的static文件夹中。为了解决这种不一致,我们可以在站点模板的部分添加两个link组件,比如我们可以在template/base.html中定义favicon图标:

{% block head %}
{{super()}}
<link rel="shortcut icon"   href="{{url_for('static',filename='favicon.ico')}}" type="image/x-icon">
<link rel="icon" href="{{url_for('static',filename='favicon.ico')}}"type="image/x-icon">{%endblock%}

在上面的代码中,我们使用了super()来保留基模板中定义的块的原始内容,并添加了两个 link组件声明图标位置,这两个link组件声明会插入到head块的末尾。

猜你喜欢

转载自blog.csdn.net/mashaokang1314/article/details/80931795