[英]How to load shared static files with Python Flask?
我們有一個運行基本 LAMP 堆棧的服務器。 我們的團隊有一些現有的 PHP 應用程序,但我們將繼續使用 Python/Flask(我們都是 Flask 的新手,因此出現了一系列愚蠢的問題)。 PHP 頁面使用一些共享的 css 和 js 文件,其中包括引導程序以及我公司構建的自定義引導程序擴展。 由於這些文件在切換到 Flask 之前就存在,因此它們顯然位於我的 Flask 應用程序的目錄結構之外。 我可以通過在 Flask 應用程序的 static 目錄中創建指向它們的符號鏈接來使用這些共享文件,但顯然我公司的自定義引導擴展包含一些字體文件,Z9784E91C7B2657917AFZ26BC8 無法加載:
<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 -
自定義引導擴展嘗試像這樣加載這些 fonts: url(../fonts/Neue-haas/roman-text-55.woff2) format("woff2")
。 我在我的 Flask 應用程序的主目錄中創建了一個fonts
目錄並將這些 fonts 復制到其中。 為什么 Flask 應用程序找不到這些 fonts?
這是我的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>
這對我有用:
@font-face {
font-family: "FontAwesome";
src: url("/static/fonts/fontawesome-webfont.woff2");
}
我為每種未加載的字體添加了其中一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.