溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

django配置app中的靜態(tài)文件步驟

發(fā)布時(shí)間:2020-09-16 18:26:05 來(lái)源:腳本之家 閱讀:190 作者:Liam_Fang_ 欄目:開(kāi)發(fā)技術(shù)

配置靜態(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è)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI