簡體   English   中英

在Flask Web App中從一個靜態文件提供另一個靜態文件

[英]Serving Another Static File from One Static File in Flask Web App

在我的網絡應用程序中,除了實際的應用相關頁面(索引和輸出),我還有其他幾個頁面,但這些頁面是靜態的。 例如,一個頁面是“Process”,另一個頁面是“Contact”。 在所有HTML文件的導航欄中,我想要鏈接到這些頁面。 我將這些頁面作為<li><a href="./static/process.html">Process</a></li><li><a href="./static/contact.html">Contact</a></li>

當從索引頁面點擊這些鏈接時,我可以訪問其中任何一個頁面 - 沒問題。 但是,如果我在Process頁面上並單擊Contact的鏈接,則會收到錯誤,因為地址欄顯示它正在嘗試訪問http://localhost:5000/static/static/contact.html 我認為我添加鏈接到這些靜態頁面的方式可能是錯誤的。 實現這一目標的最佳和正確方法是什么?

在路徑中包括./表示“從當前目錄”。

因此,您試圖從static目錄中進入static目錄。 在兩個靜態頁面之間進行鏈接時刪除./static

我相信這就是你要找的東西。

如何在Flask中提供靜態文件

# index.html
<a href="{{ url_for('static', filename='process.html') }}">link</a>

然后,當Jason說你需要從process.html中的鏈接中刪除'./'並聯系html。

# process.html
<a href="/static/contact.html">link</a>
# contact.html
<a href="/static/process.html">link</a>

至於使用AWS來提供文件,有很多不同的方法,但有一個燒瓶擴展,使得通過S3提供服務​​非常容易。 https://flask-s3.readthedocs.io/en/latest/

當從process.html鏈接到contact.html時,此解決方案將無法輕松擴展,反之亦然,因為鏈接不是動態生成的。 解決這個問題的唯一方法是使它們成為模板並通過路徑渲染和返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM