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

时间: 2024-10-23 17:02:50

flask 链接 url_for()的相关文章

flask 关于 url_for的解析方式

flask 关于 url_for的解析方式 使用url_for()反解析: 即使当路由发生改变时,依然能通过视图函数访问对应的路由 1.没有蓝图管理路由: {{ url_for(' 视图函数 ', 参数) }} 2.用蓝图管理路由时: {{ url_for(' 蓝图的第一个参数.视图函数 ', 参数) }} 1.方式一 前端显示: <h2> <a href="{{ url_for('index1func',id=1) }}">home页面--->index

flask 链接mysql数据库 小坑

#config.py MYSQL_NAME = 'root' MYSQL_PASSWORD = 'zyms90bdcs' MYSQL_HOST = 'xxxx' MYSQL_POST = '3306' MYSQL_DBNAME = 'flask_sql' MYSQL_CHARSET = 'utf8' # SQLALCHEMY_DATABASE_URI = 'mysql://{}:{}@{}:{}/{}?charset={}'.format(MYSQL_NAME,MYSQL_PASSWORD, #

Flask 高效开发实战-flask1

在模板渲染中,使用Markup转换变量中的特殊字符 from flask import Markup Markup函数对字符串进行转移处理再传递给render_template()函数 在浏览器中显示标签代码 路由地址的反响生成 通过函数名获得与其绑定的Url地址 需要使用url_for函数进行反向解析 with app.text_request_context() print(url_for('f_root')) # 输出:/ app.text_request_context()方法告诉解释器

flask web开发笔记 -- 模板

业务(business logic 比如插入数据库)和展示逻辑(presentation logic, 比如生成返回)最好分开,展示逻辑可以放置在模板中.模板是一个包含响应文本的文件,用占位符变量表示动态部分.rendering(渲染):把占位符用实际值代替,并返回最终响应字符串.Flask采用模板引擎Jinja2. 模板引擎Jinja2 简单的模板:templates/index.html <h1>Hello World!</h1> 带参数的模板:templates/user.h

Flask自带的常用组件介绍

Flask的优点是灵活小巧,三行代码即可运行一个web服务器,但基于Flask构建的功能并不比Django弱,关键就就是除了flask自带的基础功能外,还有丰富的组件进行支持,本文先对常用的自带组件进行简单的介绍.测试的Flask版本是0.12. Flask自带组件 在构建Flask应用导入的时候,通常是from flask import Flask的方式开始的,说明flask这个python package里面应该还藏了不少好东西,从源码来看看: from werkzeug.exception

Python Flask模块

模块是一个包含响应文本的文件,其中包含占用位变量表示的动态部分,其具体值只在请求的上下文中才知道.使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染.为了渲染模块,Flask使用一个名为Jinja2的强大模板引擎. 一.Jinja2模板引擎 形式最简单的Jinja2模板就是一个包含响应文本的文件. <h1>Hello,World!</h1> <h1>Hello,{{name}}!</h1> 1.渲染模板 默认情况下,Flask在程序文件夹中的t

Flask快速入门,知识整理

一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器. “微”

Flask 【第二篇】Flask基础

知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref,werkzeug,uwsgi 2.实例化Flask对象,里面是有参数的 app = Flask(__name__,template_folder='templates',static_url_path='/xxxxxx') 3.两种添加路由的方式 方式一: @app.route('/xxxx') # @decorator def index(): return "Index" 方式二: def index():

flask框架----flask基础

知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref,werkzeug,uwsgi 2.实例化Flask对象,里面是有参数的 app = Flask(__name__,template_folder='templates',static_url_path='/xxxxxx') 3.两种添加路由的方式 方式一: @app.route('/xxxx') # @decorator def index(): return "Index" 方式二: def index():