您好,登錄后才能下訂單哦!
配置靜態(tài)文件的兩種方式:
1 配置單獨(dú)app下的靜態(tài)文件,比如某個(gè)app下的單獨(dú)的圖片。
2 配置整個(gè)project下的靜態(tài)文件,適用于那些和單獨(dú)app關(guān)聯(lián)不大的文件,比如jquery bootstrap 等等
配置步驟:
首先,我們需要確認(rèn)在settings.py文件中的INSTALLED_APPS變量中存在 django.contrib.staticfiles
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', )
2.1 如果我們要配置單獨(dú)app下的靜態(tài)文件的話,執(zhí)行此步驟。
在settings.py文件中定義 STATIC_URL 變量。
STATIC_URL = '/static/'
2.2 如果我們要配置整個(gè)project下的靜態(tài)文件的話,執(zhí)行此步驟。
在settings.py文件中定義 STATICFILES_DIRS 變量
STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), # 首選project靜態(tài)文件搜尋路徑 '/var/www/static/', # 第二選project靜態(tài)文件搜尋路徑,還可以有第三選,第四選…… )
3.1 如果我們要配置單獨(dú)app下的靜態(tài)文件的話,執(zhí)行此步驟。
這時(shí),我們需要在app中建立一個(gè)名為static 的文件夾。
3.2 如果我們要配置整個(gè)project下的靜態(tài)文件的話,執(zhí)行此步驟。
我們需要在整個(gè)project 中建立一個(gè) 名為static的文件夾
4 當(dāng)我們?cè)谀0逯袩o(wú)論是使用硬鏈接 /static/myexample.jpg 還是使用 static 標(biāo)簽
<img src="{% static "myexample.jpg" %}" />
都會(huì)先訪問(wèn)app下的static/文件夾下的myexample.jpg 文件,若app下的static文件夾中沒(méi)有該文件,則訪問(wèn)project中的static/文件夾,查看是否有myexample.jpg文件,若有則返回,若沒(méi)有則去/var/www/static/中尋找。
但我要解決的問(wèn)題和這個(gè)并不太一樣,我在app下新建了一個(gè)static文件夾,在該static文件夾下又建了一個(gè)目錄linux2yolov3的目錄,專門存放圖片,本來(lái)如果是加載這里面的圖片的話可以用
<img src="{% static "linux2yolov3/myexample.jpg" %}" />
但我需要的是動(dòng)態(tài)顯示圖片,也就是從app中的views文件中傳圖片名稱過(guò)來(lái)顯示,因此上述方法不可行。
解決的方法是
<img src="{% static 'linux2yolov3/' %}{{result_img}}">
其中{{result_img}}是通過(guò)app中view里面設(shè)置context傳過(guò)來(lái)的文件名稱。
補(bǔ)充知識(shí):Django下的templates 和 static靜態(tài)文件
如果Django頂層目錄中沒(méi)有templates的話,就自己新建一個(gè)Directory ,這個(gè)文件是存放html文件的
1)如果在views里面用render(request,"")引入的時(shí)候引入不了,去setting 里面檢查TEMPLATES下面
'DIRS': [os.path.join(BASE_DIR, 'templates')],路徑配置是否正確
2)靜態(tài)文件static:里面存放js文件,setting 里面需要配置
STATIC_URL = '/static/' #別名 STATICFILES_DIRS={ os.path.join(BASE_DIR, "statics") }
以上這篇django配置app中的靜態(tài)文件步驟就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。