分享

flask url_for

 学以致用3 2021-05-16

        知道了url就可以找到对应的视图函数,那么现在问题来了,如果我们知道了视图函数,要怎么找到url呢?这时候我们就需要url_for函数了。

url_for()作用:

(1)给指定的函数构造 URL。

(2)访问静态文件(CSS / JavaScript 等)。 只要在你的包中或是模块的所在目录中创建一个名为 static 的文件夹,在应用中使用 /static 即可访问。

        如:print url_for('hello_world') 或return url_for('hello_world') ,可输入结果为/

    # -*- coding: utf-8 -*-

from flask import Flask,url_for

from flask import render_template

app = Flask(__name__)

title1="rr"

@app.route('/')

def hello_world():

    return url_for('hello_world')

    #或者return url_for('static',filename='33/2.txt')

  if __name__ == '__main__':

    app.run(debug=True)

        return url_for('static',filename='33/2.txt') 可输出static/33/2.txt

        它接受函数名作为第一个参数,也接受 URL 规则中对应的变量作为参数。未知变量部分会添加到 URL 末尾作为查询参数。

        print(url_for('login', next='/'))

        输出:/login?next=/

        在html中使用时采用下面格式:

        在index.html这个文件中,添加

        <p><a href="{{ url_for('login') }}">登录</a></p>


        选择构建URL而不直接在代码中拼URL的原因: 

        (1)反向构建通常比硬编码的描述性更好。更重要的是,它允许你一次性修改 URL, 而不是到处边找边改。

        (2)URL 构建会转义特殊字符和 Unicode 数据,免去你很多麻烦。

        (3)如果你的应用不位于 URL 的根路径(比如,在 /myapplication 下,而不是 / ), url_for() 会妥善处理这个问题。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多