国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

django靜態文件加載的方法

2020-02-23 00:09:58
字體:
來源:轉載
供稿:網友

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

首先要在settings文件中進行設置,關于靜態文件的設置選項主要由以下幾項:

1. STATIC_URL = '/static/'

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

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

當運行 python manage.py collectstatic 的時STATIC_ROOT 文件夾是用來復制所有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('//', '/')),)

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

 4.     

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

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 勐海县| 阳山县| 林芝县| 兴山县| 县级市| 平顺县| 横山县| 加查县| 玉林市| 仁化县| 贵南县| 崇左市| 屯门区| 青冈县| 上犹县| 罗山县| 颍上县| 城市| 曲靖市| 镇雄县| 青浦区| 南和县| 枣阳市| 宾阳县| 盘山县| 色达县| 固安县| 儋州市| 蒙城县| 盐边县| 涞水县| 方山县| 武宁县| 台州市| 公安县| 海原县| 宜城市| 剑河县| 喀喇沁旗| 张家口市| 霍山县|