Flask-static静态请求404(FAQ1)

本文详细解析了在使用Flask框架时,遇到的static资源访问404错误的原因及解决方法。通过调整create_app函数的目录结构,确保static文件夹能被正确识别,最终解决了html文件中css资源加载失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在蓝图中的route已经指定templates、static路径,访问templatesOK,但是static下面文件访问404
很显然是static路径未定位到

userRoute = Blueprint('user', __name__, url_prefix='/user', template_folder='templates', static_folder='static')

html文件中的调用如下:

<link rel="stylesheet" href="{{ url_for('static', filename='css/base.css') }}">

查看create_app所在目录

image.png
  • 尝试修改url_for('static' 为url_for('../static' 还是404
    网上查看资料,了解到url_for只能识别到app根目录下的static目录,这样就将model/init中的create_app类移到根目录下,使create_app时从根目录初始化app

  • 修改create_app调整后目录如下

    image.png

    app.py

from flask import Flask
from flask_login import LoginManager
from common import db


login_manager = LoginManager()# 实例化登录管理对象
login_manager.login_view = "user.login"
#login_manager.login_view = "user.login" 指定了未登录时跳转的页面,即被拦截后统一跳到user/login这个路由下

def create_app(config_filename=None):
    app = Flask(__name__)   # 创建 Flask 应用
    login_manager.init_app(app)   # 初始化应用
    if config_filename is not None:
        app.config.from_pyfile(config_filename)   # 注册数据访问信息
        configure_database(app)   # 初始化数据库

    return app


def configure_database(app):   #初始化数据库连接
    print('数据库初始化')
    db.init_app(app)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值