通過URL訪問django靜態資源

2021-09-01 03:17:32 字數 939 閱讀 6323

這個問題真的困擾了好幾天…這個跟django的版本號應該有關係,網上的方法大多都只適用於舊的django版本

截止發帖為止,我當前用的是django 2.1.2版本

首先給出解決方案:在urlpatterns裡加入url(r'^static/(?p.*)$', views.serve),

下面是詳細解釋:

首先需要在url.py裡引入django自帶的views:from django.contrib.staticfiles import views(有可能你自己也寫了乙個views.py檔案,所以最好重新命名一下,比如from django.contrib.staticfiles import views as my_view)

在urlpatterns裡加入url(r'^static/(?p.*)$', my_view.serve),

這裡my_view就是上面提到的django自帶的views,只不過我重新命名為my_view而已

根據django官方的說法,」static/」應該是你在settings.py裡設定好的static_url設定,附官方文件截圖:

而「static/」後面的「(?p.*)」的含義其實很簡單,就是你通過url訪問時,staic/***x後面的這些路徑,比如http:://localhost:8000/static/images/1.jpg,那images/1.jpg就是「(?p.*)」所代表的含義了

3.這時候執行你的伺服器,就能通過url正常訪問靜態資源了,比如你用picasso,如果沒配置好django伺服器這邊的url的話,就算它功能再強大也訪問不到資源啊(淚目~)

通過url訪問檔案(靜態資源)

放在resources.static下,例如新建files目錄存放檔案 對映resource.static下檔案,使之可以通過url位址直接訪問 mvc static path pattern 訪問 http ip port files filename pdf 將檔案放在static目錄下 js訪...

vue打包後,靜態資源通過URL訪問不到

vue打包後,一些靜態資源通過url訪問不到 const shareinfo 然後就開始找原因,檢視了打的包裡的資料夾,並沒有找到 share.jpg。但是發現其他的檔案都是以 a.7a2c09b.jpg形式出現的。那分享在 呢?會不會也變成share.jh65465.jpg?網上查資料,知道可能的...

禁止通過 url直接訪問

1.首先在page load中獲得並儲存該資訊 page load object obj,eventargs e l頁面回發後會改變request.urlreferrer,將其指向當前頁面,所以需要進行判斷 只有在第一次請求頁面的時候才儲存該資訊 l因為可能 上一次 的url不存在,所以需要進行判斷...