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