亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

django靜態(tài)文件加載的方法

 更新時間:2018年05月20日 09:00:38   作者:MiniBirdie  
本篇文章主要介紹了django靜態(tài)文件加載的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在模板中往往要加載靜態(tài)文件,如CSS, JavaScript,圖片等。那么這些文件在django中如何才能正確加載呢?

首先要在settings文件中進行設(shè)置,關(guān)于靜態(tài)文件的設(shè)置選項主要由以下幾項:

1. STATIC_URL = '/static/'

指定靜態(tài)文件查找的url。這樣設(shè)置后一般來說我們只要把靜態(tài)文件放在 APP 中的 static 目錄下就可以,但是有時我們有一些共用的靜態(tài)文件,這時候可以設(shè)置 STATICFILES_DIRS 另外弄一個文件夾。

2.STATIC_ROOT =os.path.join(BASE_DIR, 'collected_static')

當(dāng)運行 python manage.py collectstatic 的時STATIC_ROOT 文件夾是用來復(fù)制所有STATICFILES_DIRS文件夾中的文件,以及各app中static中的文件。把這些文件放到一起是為了用apache等部署的時候更方便。

3.      

STATICFILES_DIRS = (
  ("images",os.path.join(STATIC_URL, 'images').replace('\\', '/')),
  ("css",  os.path.join(STATIC_URL, 'css').replace('\\', '/')),
  ("js",  os.path.join(STATIC_URL, 'js').replace('\\', '/')),
)

其它存放靜態(tài)文件的文件夾,可以用來存放項目中公用的靜態(tài)文件,里面不能包含 STATIC_ROOT如果不想用 STATICFILES_DIRS 可以不用,都放在 app 里的 static 中也可以。

 4.     

STATICFILES_FINDERS = (
  "django.contrib.staticfiles.finders.FileSystemFinder",
  "django.contrib.staticfiles.finders.AppDirectoriesFinder"

)

默認設(shè)置,相當(dāng)于搜索引擎,Django 默認會在 STATICFILES_DIRS中的文件夾和 各app下的static文件夾中找文件。注意有先后順序,找到了就不再繼續(xù)找了。

 那如何在模版中使用這些靜態(tài)文件呢?可以參考如下代碼,其中語句{% load static from staticfiles %}在這個模版文件中只需要出現(xiàn)一次。

{% load static from staticfiles %}

<link href="{% static" rel="external nofollow" css/sample.css" %}" rel="stylesheet">

用下邊的方法也可

{% load static from staticfiles %}
{% static "css/sample.css" assample %}
<link href="{{ sample }}" rel="external nofollow" rel="stylesheet">

Django在運行時會自動將這些文件映射到STATIC_URL所給定的值下。也就是如,如果STATIC_URL = '/static/',那么在運行時,上邊模版中的樣例中的url會被替換為/static/css/sample.css。

這里做兩點說明:

1.其實將靜態(tài)文件路徑硬編碼在模版中也可以正常運行,如使用href="/static/css/sample.css" rel="external nofollow" ,前提是配置好了STATIC_URL和STATIC_DIRS。但并不推薦這么做,因為如果后來靜態(tài)資源的位置發(fā)生了遷移,如使用獨立服務(wù)器或者使用CDN,就要修改一大堆URL。而使用推薦的方法可以避免這個龐大的工作量,最多只需要修改STATIC_URL即可。

2.如果css文件中也使用了靜態(tài)文件如css背景,則按照相對路徑使用即可,因為瀏覽器解析css是會自動按照相對路徑尋找到正確的URL。

在這里還需要強調(diào)的是,在開發(fā)階段,Django使用的是內(nèi)建的一個靜態(tài)文件服務(wù)器,雖然在生產(chǎn)環(huán)境中也可以使用,但是它既不穩(wěn)定也不安全。更好的方式是使用提供web服務(wù)的服務(wù)器如apache來服務(wù)靜態(tài)文件。這需要你首先上傳代碼到服務(wù)器,然后運行collectstatic命令:python manage.py collectstatic 然后配置web服務(wù)器來為靜態(tài)文件服務(wù),如對Apache2進行配置。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中pyqtgraph知識點總結(jié)

    python中pyqtgraph知識點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python中pyqtgraph知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • Python中的默認參數(shù)詳解

    Python中的默認參數(shù)詳解

    這篇文章主要介紹了Python中的默認參數(shù)詳解,本文講解了默認參數(shù)的基本原理、如何正確地使用可變參數(shù)等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • python+opencv識別圖片中的圓形

    python+opencv識別圖片中的圓形

    這篇文章主要為大家詳細介紹了python+opencv識別圖片中的圓形 ,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python根據(jù)多個文件名批量查找文件

    python根據(jù)多個文件名批量查找文件

    這篇文章主要為大家詳細介紹了python根據(jù)多個文件名批量查找文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python變量命名規(guī)范的總結(jié)

    Python變量命名規(guī)范的總結(jié)

    在Python編程中,變量命名規(guī)范對于編寫優(yōu)雅和可維護的代碼至關(guān)重要,本文主要介紹了Python變量命名規(guī)范的總結(jié),具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python如何從列表中刪除相鄰和不相鄰的相同元素

    Python如何從列表中刪除相鄰和不相鄰的相同元素

    這篇文章主要介紹了Python如何從列表中刪除相鄰和不相鄰的相同元素問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python實現(xiàn)TCP文件傳輸

    python實現(xiàn)TCP文件傳輸

    這篇文章主要為大家詳細介紹了python實現(xiàn)TCP文件傳輸,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 解決PyCharm中光標(biāo)變粗的問題

    解決PyCharm中光標(biāo)變粗的問題

    下面小編就為大家?guī)硪黄鉀QPyCharm中光標(biāo)變粗的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解Python如何批量檢查圖像是否可用

    詳解Python如何批量檢查圖像是否可用

    數(shù)據(jù)集中的圖像,一般不可用在以下3個方面:圖像過小、無法打開和“Premature end of JPEG file”。本文將為大家介紹Python如何批量檢查圖像是否可用,感興趣的可以了解一下
    2022-06-06
  • Python從零開始創(chuàng)建區(qū)塊鏈

    Python從零開始創(chuàng)建區(qū)塊鏈

    這篇文章主要為大家詳細介紹了Python從零開始創(chuàng)建區(qū)塊鏈的步驟 ,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評論