flask 链接 url_for()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask 链接 url_for()相关的知识,希望对你有一定的参考价值。

通常html的文件都放在template里面,那么静态的文件放在哪呢?staitc里面

调用 url_for(\'static\', filename=\'css/styles.css\', _external=True) 得到的结果是http:// localhost:5000/static/css/styles.css。

默认设置下,Flask 在程序根目录中名为 static 的子目录中寻找静态文件。如果需要,可在 static 文件夹中使用子文件夹存放文件。
服务器收到前面那个 URL 后,会生成一个响应, 包含文件系统中 static/css/styles.css 文件的内容。

 请看案例:

{% 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 %}

 

案例:

在看代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello, {{ name }}</h1>
<img src="{{ url_for(\'static\', filename=\'asd.jpg\') }}">
</body>
</html>
静态
from flask import Flask, render_template

app = Flask(__name__)


@app.route(\'/\')
def index():
    name = "<h1>Hello</h1>"
    return render_template(\'index.html\', name=name)


@app.errorhandler(404)
def url_error(e):
    return render_template(\'index.html\', name=404), 404


@app.errorhandler(500)
def url_error2(e):
    return render_template(\'500.html\'), 500


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

 

以上是关于flask 链接 url_for()的主要内容,如果未能解决你的问题,请参考以下文章

使用 url_for() 在 Flask 中创建动态 URL

flask url_for后没有带端口号

Flask从入门到精通之链接的使用

开始Flask项目

11.3

flask 关于 url_for的解析方式