怎么在django模板中加載靜態(tài)文件-創(chuàng)新互聯(lián)

本篇文章為大家展示了怎么在django模板中加載靜態(tài)文件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

加載靜態(tài)文件

在一個網(wǎng)頁中,不僅僅只有一個 html 骨架,還需要 css 樣式文件, js 執(zhí)行文件以及一些圖片等。因此在 DTL 中加載靜態(tài)文件是一個必須要解決的問題。在 DTL 中,使用 static 標(biāo)簽來加載靜態(tài)文件。要使用 static 標(biāo)簽,首先需要 {% load static %} 。加載靜態(tài)文件的步驟如下:

首先確保 django.contrib.staticfiles 已經(jīng)添加到 settings.INSTALLED_APPS 中。

確保在 settings.py 中設(shè)置了 STATIC_URL 。

在已經(jīng)安裝了的 app 下創(chuàng)建一個文件夾叫做 static ,然后再在這個 static 文件夾下創(chuàng)建一個當(dāng)前 app 的名字的文件夾,再把靜態(tài)文件放到這個文件夾下。例如你的 app 叫做 book ,有一個靜態(tài)文件叫做 zhiliao.jpg ,那么路徑為 book/static/book/zhiliao.jpg 。(為什么在 app 下創(chuàng)建一個 static 文件夾,還需要在這個 static 下創(chuàng)建一個同 app 名字的文件夾呢?原因是如果直接把靜態(tài)文件放在 static 文件夾下,那么在模版加載靜態(tài)文件的時候就是使用 zhiliao.jpg ,如果在多個 app 之間有同名的靜態(tài)文件,這時候可能就會產(chǎn)生混淆。而在 static 文件夾下加了一個同名 app 文件夾,在模版中加載的時候就是使用 app/zhiliao.jpg ,這樣就可以避免產(chǎn)生混淆。)

如果有一些靜態(tài)文件是不和任何 app 掛鉤的。那么可以在 settings.py 中添加 STATICFILES_DIRS ,以后 DTL 就會在這個列表的路徑中查找靜態(tài)文件。比如可以設(shè)置為:

STATICFILES_DIRS = [
   os.path.join(BASE_DIR,"static")
 ]

在模版中使用 load 標(biāo)簽加載 static 標(biāo)簽。比如要加載在項(xiàng)目的 static 文件夾下的 style.css 的文件。那么示例代碼如下:

{% load static %}
   <link rel="stylesheet" href="{% static 'style.css' %}" rel="external nofollow" >

如果不想每次在模版中加載靜態(tài)文件都使用 load 加載 static 標(biāo)簽,那么可以在 settings.py 中的 TEMPLATES/OPTIONS 添加 'builtins':['django.templatetags.static'] ,這樣以后在模版中就可以直接使用 static 標(biāo)簽,而不用手動的 load 了。

如果沒有在 settings.INSTALLED_APPS 中添加 django.contrib.staticfiles 。那么我們就需要手動的將請求靜態(tài)文件的 url 與靜態(tài)文件的路徑進(jìn)行映射了。示例代碼如下:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
  # 其他的url映射
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

上述內(nèi)容就是怎么在django模板中加載靜態(tài)文件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標(biāo)題:怎么在django模板中加載靜態(tài)文件-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article10/djhedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)