如何使用Python Flask加载共享静态文件?

2024-09-29 21:40:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个运行基本LAMP堆栈的服务器。我们的团队有一些现有的PHP应用程序,但我们将继续使用Python/Flask(我们都是Flask的新手,因此有很多愚蠢的问题)。PHP页面使用一些共享css&;js文件,其中包括引导以及由我的公司构建的自定义引导扩展。由于这些文件在切换到Flask之前就存在,因此它们显然位于我的Flask应用程序的目录结构之外。我可以通过在Flask应用程序的静态目录中创建指向这些共享文件的符号链接来使用这些共享文件,但很显然,我公司的自定义引导扩展包含Flask应用程序无法加载的一些字体文件:

<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/display-bold-75.woff2 HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/roman-text-55.woff2 HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/display-bold-75.woff HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/fontawesome-webfont.woff?v=4.7.0 HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/roman-text-55.woff HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/display-bold-75.ttf HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/fontawesome-webfont.ttf?v=4.7.0 HTTP/1.1" 404 -
<my-ip-addr> - - [17/May/2021 09:35:11] "GET /fonts/Neue-haas/roman-text-55.ttf HTTP/1.1" 404 -

自定义引导扩展尝试加载这些字体,如:url(../fonts/Neue-haas/roman-text-55.woff2) format("woff2")。我在Flask应用程序的主目录中创建了一个fonts目录&;将这些字体复制到其中。为什么Flask应用程序找不到这些字体

这是我的base.html模板:

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">
        <title><*some title*></title>
        <!-- Bootstrap core CSS -->
        <link href="{{url_for('static', filename='bootstrap.min.css')}}" rel="stylesheet">
        <link href="{{url_for('static', filename='<*custom-bootstrap-extension-name*>.min.css')}}" rel="stylesheet">
<!  This part I added in response to Jason's comment -->
        <style>
            @font-face {
               font-family: "FontAwesome";
               src: url("/static/fontawesome-webfont.woff2?v=4.7.0");
           }
        </style>
    </head>

    <body class="container">
        
        {{ header | safe }}
        {% block content %}{% endblock %}
        {{ footer | safe }}

    </body>

    <script src="{{url_for('static', filename='jquery.min.js')}}"></script>
    <script src="{{url_for('static', filename='bootstrap.min.js')}}"></script>
    <script src="{{url_for('static', filename='<*custom-bootstrap-extension-name*>.min.js')}}"></script>

</html>

Tags: ip应用程序httpurlflaskgetmyfonts

热门问题