Django使用模板后無(wú)法找到靜態(tài)資源文件問(wèn)題解決
環(huán)境配置
- Django版本1.11
- python版本3.6.2
前言
在編寫(xiě)Django網(wǎng)站的時(shí)候,在涉及模板方面,一些簡(jiǎn)單的例子都沒(méi)有問(wèn)題,但這些例子都有一個(gè)共同點(diǎn),那就是所使用的模板沒(méi)有需要的靜態(tài)資源文件。當(dāng)涉及到模板中需要靜態(tài)資源文件,如css,js等文件的時(shí)候,如果我們不做什么處理,直接按前端寫(xiě)好的給我們放入到templates文件中時(shí),即如下形式:
|templates |----js |--------xxxx.js |----css |--------xxxx.css |----xxxx.html
當(dāng)運(yùn)行網(wǎng)站的時(shí)候,我們會(huì)發(fā)現(xiàn)所有需要加載的都沒(méi)有加載進(jìn)來(lái),原因便是在渲染頁(yè)面的時(shí)候,Django的處理器將目錄對(duì)應(yīng)到了根目錄,所以我們使用的其實(shí)是在根目錄下的靜態(tài)資源文件(其實(shí)并沒(méi)有),所以也就會(huì)出現(xiàn)404錯(cuò)誤。
解決方法
首先settings.py文件中應(yīng)有如下代碼
STATIC_URL = '/static/'
這是用來(lái)定義靜態(tài)目錄URL,一般都已經(jīng)給出
在每個(gè)要使用到靜態(tài)資源的模板中,我們應(yīng)該將路徑改為static下的目錄,比如
/static/my_app/example.jpg
或者
{% load static %} <img src="{% static "my_app/example.jpg" %}" alt="My image"/>
當(dāng)然,不使用static也行,可以自己定義存放靜態(tài)資源文件的目錄,如下:
STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ]
我們需要注意的是,這里的static文件夾是處于你所引用模板的app下的static文件夾,盡量不要把資源放在根目錄下static文件夾,因?yàn)楦夸浵碌膕tatic文件夾一般是用來(lái)將所有STATICFILES_DIRS中所有文件夾中的文件,以及各app中static中的文件都復(fù)制過(guò)來(lái),為的是把這些文件放到一起是用apache等部署的時(shí)候更方便,如下
STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
我們就定義了一個(gè)collected_static在根目錄下用來(lái)收集所有靜態(tài)資源文件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?虛擬機(jī)集合set實(shí)現(xiàn)原理及源碼解析
這篇文章主要為大家介紹了Python?虛擬機(jī)集合set實(shí)現(xiàn)原理及源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python3.4 將16進(jìn)制轉(zhuǎn)成字符串的實(shí)例
今天小編就為大家分享一篇python3.4 將16進(jìn)制轉(zhuǎn)成字符串的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能
這篇文章主要介紹了python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01python實(shí)現(xiàn)在一個(gè)畫(huà)布上畫(huà)多個(gè)子圖
今天小編就為大家分享一篇python實(shí)現(xiàn)在一個(gè)畫(huà)布上畫(huà)多個(gè)子圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01python的pytest框架之命令行參數(shù)詳解(下)
這篇文章主要介紹了python的pytest框架之命令行參數(shù)詳解,今天將繼續(xù)更新其他一些命令選項(xiàng)的使用,和pytest收集測(cè)試用例的規(guī)則,需要的朋友可以參考下2019-06-06利用Python判斷文件的幾種方法及其優(yōu)劣對(duì)比
任何的編程語(yǔ)言都離不開(kāi)文件操作,文件操作主要是幫助我們更好的創(chuàng)建打開(kāi)文件,讀取文件中的內(nèi)容、或是把我們想要保存的內(nèi)容寫(xiě)入文件中、或是管理文件目錄等等,下面這篇文章主要給大家介紹了關(guān)于利用Python判斷文件的幾種方法及其優(yōu)劣對(duì)比的相關(guān)資料,需要的朋友可以參考下2022-06-06Python WordCloud 修改色調(diào)的實(shí)現(xiàn)方式
這篇文章主要介紹了Python WordCloud 修改色調(diào)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03