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

首頁 > 編程 > Python > 正文

django中靜態文件配置static的方法

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

環境

    centos7 django 1.11 nginx

白話

我們可以使用Template 設置我們的網頁,同時,一個完美的網頁需要css,js,image 等靜態文件的支持。

django中配置方式貌似有不少總,因為很多相關的博客寫的方式并不一致,當然這可能是django 的版本不同導致的。

當我們在一個項目下創建一個app后,我們就需要為該app下創建一個static 文件夾來存放相關靜態資源。

但創建了多個app后,就需要在多個app下創建static。

這樣引入了一個問題,因為,我們的可能用了同一個js文件。分別存放顯然是浪費加載時間。

于是在實際部署的時候,我們會將不同app下的static 文件放到一個“合適”的地方。提高資源加載速度,同時也方便管理。

好了,大概就是這個思路,我們下面介紹如何配置

配置

step one

--app --migrations --static  --css  --js  --image --templates --__init__.py ...

文件結構如上所示,注意,我這里只展示了某app下的結構,而不是整個項目結構,可能你的沒有templates這個文件夾,這不要緊,這個是我創建的。

我們最好在static下分類好不同文件夾 css , js,image.(這是推薦的做法)

多個app時,我們就在不同的app 下創建static。(后面我們在講更合理的方法,這里需要這樣做為了你理清步驟)

step two

在settings.py中的STATIC_URL = '/static/'后面添加

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

這個STATIC_ROOT 就是我們最終部署時候需要使用的,解決資源分散的問題。

BASE_DIR 這個變量在settings.py的開始部分被定義,就是項目根目錄的目錄名。

os.path.join 方法,在項目根目錄下新建一個static文件夾。

我看到很多博客這里配置的很多,很亂,讓人摸不著頭腦。

這個地方完全可以這樣配置,加載我們的靜態資源。(信我,我可是被很多不負責任的博客坑慘了)

step three

創建文件夾完,配置文件這兩步都完成后,我們需要的就是把他放到網頁中顯示。

在app下新建一個templates,如果有就不用創建

--app --migrations --static --templates  --appname   --index.html --__init__.py ...

大家注意,我并沒有直接在templates下直接創建index.html ,而是創建了一個”appname”(就根據你的app來命名這樣不會沖突)。并在appname 下創建的index.html。

因為django去找template的時候是吧app下的templates ,存為一個list。如果我們多個app,就可能導致,想訪問app2的index,結果卻返回了app1的index.html。

index.html 內容

{% load static %} #這個地方引入static這個文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><img src="{% static "image/logo.png" %}" alt="My image"/> #{% static "image/logo.png" %}表示路徑</body></html>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 当涂县| 云阳县| 石林| 九寨沟县| 昂仁县| 和平区| 府谷县| 石城县| 新田县| 资阳市| 彰化市| 高平市| 温州市| 阳新县| 临清市| 西平县| 镇巴县| 五大连池市| 南昌县| 景洪市| 友谊县| 甘德县| 商都县| 迭部县| 肥东县| 崇仁县| 醴陵市| 新闻| 塔城市| 平阳县| 佳木斯市| 徐州市| 武汉市| 开鲁县| 晴隆县| 兴安县| 密山市| 闵行区| 永春县| 康定县| 广丰县|