欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

快速解決Django關(guān)閉Debug模式無法加載media圖片與static靜態(tài)文件

 更新時間:2020年04月07日 09:12:45   作者:一米陽光給的溫暖  
這篇文章主要介紹了快速解決Django關(guān)閉Debug模式無法加載media圖片與static靜態(tài)文件的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

開發(fā)時,通常打開Debug模式會快速定位開發(fā)時的一些問題。

項目開始部署時,關(guān)閉Debug模式,url.py路由靜態(tài)文件和圖片寫法:

# url.py
from django.views import static
from django.conf import settings
#路由靜態(tài)文件和圖片
urlpatterns = [
 url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='media')
 url(r'^media/(?P<path>.*)$', static.serve, {'document_root': settings.MEDIA_ROOT}, name='media')
]

補充知識:Django靜態(tài)文件的獲取,以及對static和media目錄設(shè)置的一些思考

Django直接獲取靜態(tài)資源文件是不行的,會報錯。

添加靜態(tài)資源文件夾static,設(shè)置靜態(tài)文件根目錄后

INSTALLED_APPS = [
 ...
 'django.contrib.staticfiles',
 ...
]

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/

STATIC_URL = '/static/'
# 可收集靜態(tài)文件到static文件夾,便于訪問
STATICFILES_DIRS = [
 os.path.join(BASE_DIR, 'static')
]

配置完成后就可以通過下面的代碼調(diào)用靜態(tài)資源了。圖片、css、js文件。

{% load static %}

...
...
<img class="author_img rounded-circle" src="{% static 'image/blog/author.png' %}" alt="" >

但是上傳到media中的文件可以不通過這種方式調(diào)用。但是前提是也要配置media的文件根路徑和根目錄。

MEDIA_URL = '/media/' # 訪問文件的url根路徑
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 上傳文件存儲根目錄

然后可以通過如下方法調(diào)用。

<img class="img-fluid" src="/media/{{ detop_view.cover_photo }} " alt="post">

可以注意到這里資源引用沒有用{% static ... %},實際上只要這樣子在settings.py文件中配置了相關(guān)路徑和目錄,就可以通過這種方式引用。

要是別的靜態(tài)文件都通過這種方法引用,對于小項目這不是什么問題,你可以將靜態(tài)文件放在任何你的web服務(wù)器能夠找到的地方。但是對于大型項目,尤其是那些包含多個app在內(nèi)的項目,處理那些由app帶來的多套不同的靜態(tài)文件是個麻煩活。但這正是django.contrib.staticfiles的用途:它收集每個應(yīng)用(和任何你指定的地方)的靜態(tài)文件到一個統(tǒng)一指定的地方,并且易于訪問。

media目錄下一般放上傳的文件,在django項目部署到服務(wù)器的時候,會輸入python manage.py collectstatic收集靜態(tài)資源文件,所以與static目錄不沖突,而且media中的文件可能還會被刪除。因此后期用戶上傳的文件不放在static目錄下。

以上這篇快速解決Django關(guān)閉Debug模式無法加載media圖片與static靜態(tài)文件就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理

    基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理

    這篇文章主要介紹了基于python使用Pillow做動態(tài)圖在圖中生成二維碼以及圖像處理,分享pillow的一些簡單使用,喜歡的話大家可以參考文章內(nèi)容下去試試奧
    2022-02-02
  • 使用Python實現(xiàn)控制攝像頭的方法詳解

    使用Python實現(xiàn)控制攝像頭的方法詳解

    當(dāng)今,隨著計算機(jī)技術(shù)的發(fā)展,攝像頭已經(jīng)成為了人們生活中不可或缺的一部分。而Python作為一種流行的編程語言,也可以輕松地控制和操作攝像頭。本文將介紹如何使用Python中的常用庫(例如OpenCV和Tkinter)來控制和操作攝像頭,需要的可以參考一下
    2023-03-03
  • python中的reduce內(nèi)建函數(shù)使用方法指南

    python中的reduce內(nèi)建函數(shù)使用方法指南

    python中的reduce內(nèi)建函數(shù)是一個二元操作函數(shù),他用來將一個數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進(jìn)行下列操作:用傳給reduce中的函數(shù) func()(必須是一個二元操作函數(shù))先對集合中的第1,2個數(shù)據(jù)進(jìn)行操作,得到的結(jié)果再與第三個數(shù)據(jù)用func()函數(shù)運算,最后得到一個結(jié)果
    2014-08-08
  • python用海龜繪圖寫貪吃蛇游戲

    python用海龜繪圖寫貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了python用海龜繪圖寫貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 使用python BeautifulSoup庫抓取58手機(jī)維修信息

    使用python BeautifulSoup庫抓取58手機(jī)維修信息

    這篇文章主要介紹了一個使用python抓取58手機(jī)的精準(zhǔn)商家信息,使用BeautifulSoup API的方法
    2013-11-11
  • Python實現(xiàn)修改文件內(nèi)容的方法分析

    Python實現(xiàn)修改文件內(nèi)容的方法分析

    這篇文章主要介紹了Python實現(xiàn)修改文件內(nèi)容的方法,結(jié)合實例形式分析了Python文件讀寫、字符串替換及shell方法調(diào)用等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Python創(chuàng)建7種不同的文件格式的方法總結(jié)

    Python創(chuàng)建7種不同的文件格式的方法總結(jié)

    今天的這篇文章呢,小編來介紹一下如何通過Python來創(chuàng)建各種形式的文件,這里包括了:文本文件、CSV文件、Excel文件、壓縮文件、XML文件、JSON文件和PDF文件,需要的可以參考一下
    2023-01-01
  • Python字符串的常見操作實例小結(jié)

    Python字符串的常見操作實例小結(jié)

    這篇文章主要介紹了Python字符串的常見操作,結(jié)合實例形式總結(jié)分析了Python字符串的查詢、轉(zhuǎn)換、分割、計算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • python實現(xiàn)簡單的俄羅斯方塊

    python實現(xiàn)簡單的俄羅斯方塊

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單的俄羅斯方塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • pyinstaller打包可執(zhí)行文件,存放路徑包含中文無法運行的解決方案

    pyinstaller打包可執(zhí)行文件,存放路徑包含中文無法運行的解決方案

    這篇文章主要介紹了pyinstaller打包可執(zhí)行文件,存放路徑包含中文無法運行的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論