Re: [問題] django static file cashed

看板Python作者 (tytyty)時間10年前 (2015/10/11 13:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《sean72 (.)》之銘言: : 1 : 我修改static file之後 ex map.js : 甚至我從static_root移除了map.js : 瀏覽器卻還是顯示之前的map資訊 : 請問是誰(django dev server or web browser?) cach了這些static files? 如果您的 STATIC_ROOT 和 STATIC_URL 路徑不同,那您刪 STATIC_ROOT 裡的檔案 大概不太會有影響。您可以用 Chrome 的 Dev Tools 裡的 Network 標籤,找到 map.js 那個 request 然後看一下 Size 這個欄位,如果是從 cache 他會說。 : 2 : 每次修改static file之後都還要執行collectstatic : 之後再跑runserver 這樣實在很麻煩 : 請問大家都是如何做static file修改? collectstatic 在 deploy 之前才用。在那之前,static files 都在 app 裡面的 static 資料夾,STATIC_URL 設成 '/static/',這樣您檔案馬上改就馬上用。 等到您的扣要推上線之前,跑 collectstatic ,然後從 STATIC_ROOT 把檔案移到 您最喜愛的 CDN (例如 AWS CloudFront),然後改 STATIC_URL,把他指到您的 CDN, 這樣應該就妥當了。對了,第三題記得要用{% static '....' %}。 : 3 : 即使我使用了{% load staticfiles %} : 我是否仍然可以使用 : <link rel="icon" href="../../map.js"> 這種方法來讀取static files? 請唯一使用 href="{% static 'xxx/yyy/map.js' %}" Django 提供了這個讓您可以不用 hard code 任何路徑的機制,您就應該用它。 : 4 : collectstatic 這個app好用的地方在哪? : 我看了這篇卻沒有感覺 http://0rz.tw/B8AWT : 無論我有多少個app 我仍然要在每個html head裡面標明static file的位置 : <script src="{% static 'js/map.js' %}"></script> : 那跟我直接連去static file dir也是一樣的意思 不是嗎? 不是。前面都講完了,這裏簡短回答。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.234.217.60 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1444542905.A.428.html
文章代碼(AID): #1M6VcvGe (Python)
討論串 (同標題文章)
文章代碼(AID): #1M6VcvGe (Python)