最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django中靜態(tài)文件配置static的方法

 更新時間:2018年05月20日 08:40:45   作者:katios  
我們可以使用Template 設(shè)置我們的網(wǎng)頁,同時,一個完美的網(wǎng)頁需要css,js,image 等靜態(tài)文件的支持,這篇文章主要介紹了django中靜態(tài)文件配置static的方法,感興趣的小伙伴們可以參考一下

環(huán)境

  1. centos7
  2. django 1.11
  3. nginx

白話

我們可以使用Template 設(shè)置我們的網(wǎng)頁,同時,一個完美的網(wǎng)頁需要css,js,image 等靜態(tài)文件的支持。

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

當(dāng)我們在一個項目下創(chuàng)建一個app后,我們就需要為該app下創(chuàng)建一個static 文件夾來存放相關(guān)靜態(tài)資源。

但創(chuàng)建了多個app后,就需要在多個app下創(chuàng)建static。

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

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

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

配置

step one

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

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

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

多個app時,我們就在不同的app 下創(chuàng)建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文件夾。

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

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

step three

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

在app下新建一個templates,如果有就不用創(chuàng)建

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

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

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

index.html 內(nèi)容

{% 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>

這里的#號注釋是方便大家理解,并不是html支持的格式,粘貼的時候需要去掉

并在image文件夾下加入一張名為logo.png的圖片,因為圖片可以直觀的判讀我們的設(shè)置是否生效。

python manage.py runserver 0.0.0.0:9000

訪問你的9000端口,查看時候生效。注意我們到這里還未配置nginx.

如果正確,說明路徑?jīng)]問題。

step four

python manage.py collectstatic

該命令收集項目下的靜態(tài)文件,統(tǒng)一保存到 STATIC_ROOT 就是我們第二步,剛剛配置的。

--project
 --project
 --static
 --app1
 --app2
 --manage.py
 ...

step five

nginx 中配置

 location ^~ /static/ {
  root /home/project/;
  }

這個地方 注意配置到static的上級就可以了。

我之前配置成了root /home/project/static 就會一直提示404

在部署的時候,django也建議將settings.py中的debug=True 改為debug=False。以保證安全性。

重新啟動nginx ,看看是否成功了呢?

如果成功了,可以將app下的static刪掉再試試,理論上也是可以成功的,因為此時我們已經(jīng)將項目所有的靜態(tài)文件全都集中到了根目錄下的static中。

總結(jié)

配置靜態(tài)文件還是要先了解他是如何生效的,one by one,搞清邏輯。

那樣在配置才不會混亂,否則不同的教程只會讓人抓狂。

如果找不到相關(guān)博客的話,靜下心來閱讀官方文檔。你可以做到的。

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

相關(guān)文章

  • python psutil模塊使用方法解析

    python psutil模塊使用方法解析

    這篇文章主要介紹了python psutil模塊使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python實現(xiàn)機器學(xué)習(xí)算法的分類

    Python實現(xiàn)機器學(xué)習(xí)算法的分類

    今天給大家整理了Python實現(xiàn)機器學(xué)習(xí)算法的分類的文章,文中有非常詳細的代碼示例,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • 完美處理python與anaconda環(huán)境變量的沖突問題

    完美處理python與anaconda環(huán)境變量的沖突問題

    這篇文章主要介紹了完美處理Python與anaconda環(huán)境變量的沖突問題,對anaconda感興趣的同學(xué),可以參考下
    2021-04-04
  • Python讀寫docx文件的方法

    Python讀寫docx文件的方法

    今天小編就為大家分享一篇Python讀寫docx文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python實現(xiàn)繪制凸包的示例代碼

    Python實現(xiàn)繪制凸包的示例代碼

    凸包(Convex Hull)是一個計算幾何(圖形學(xué))中的概念。這篇文章主要為大家詳細介紹了Python繪制凸包的示例代碼,感興趣的小伙伴可以了解一下
    2023-05-05
  • Pycharm使用爬蟲時遇到etree紅線問題及解決

    Pycharm使用爬蟲時遇到etree紅線問題及解決

    這篇文章主要介紹了Pycharm使用爬蟲時遇到etree紅線問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python實現(xiàn)注冊登錄系統(tǒng)

    Python實現(xiàn)注冊登錄系統(tǒng)

    這篇文章主要為大家詳細介紹了適合初學(xué)者學(xué)習(xí)的Python3銀行賬戶登錄系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • python ipset管理 增刪白名單的方法

    python ipset管理 增刪白名單的方法

    今天小編就為大家分享一篇python ipset管理 增刪白名單的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python基于watchdog庫全自動化監(jiān)控目錄文件

    python基于watchdog庫全自動化監(jiān)控目錄文件

    這篇文章主要介紹了python基于watchdog庫全自動化監(jiān)控目錄文件,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • python常用運維腳本實例小結(jié)

    python常用運維腳本實例小結(jié)

    這篇文章主要介紹了python常用運維腳本實例小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評論

绥芬河市| 宜春市| 荥经县| 东光县| 高邮市| 五常市| 公安县| 肇源县| 阳城县| 墨竹工卡县| 吴忠市| 眉山市| 会理县| 博罗县| 郯城县| 临泉县| 固安县| 万州区| 奉化市| 区。| 宜良县| 呈贡县| 庐江县| 治多县| 天柱县| 松阳县| 尼木县| 芜湖市| 雷州市| 文山县| 景谷| 虞城县| 堆龙德庆县| 阳朔县| 临城县| 平和县| 开远市| 库车县| 英超| 太仆寺旗| 五莲县|