国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - django中靜態文件配置static的方法

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

2021-02-22 00:22katios Python

我們可以使用Template 設置我們的網頁,同時,一個完美的網頁需要css,js,image 等靜態文件的支持,這篇文章主要介紹了django中靜態文件配置static的方法,感興趣的小伙伴們可以參考一下

環境

  1. centos7
  2. django 1.11
  3. nginx

白話

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

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

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

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

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

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

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

配置

step one

?
1
2
3
4
5
6
7
8
9
--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/'后面添加

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

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

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

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

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

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

step three

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

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

?
1
2
3
4
5
6
7
8
--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 內容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
{% 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的圖片,因為圖片可以直觀的判讀我們的設置是否生效。

python manage.py runserver 0.0.0.0:9000

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

如果正確,說明路徑沒問題。

step four

python manage.py collectstatic

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

?
1
2
3
4
5
6
7
--project
 --project
 --static
 --app1
 --app2
 --manage.py
 ...

step five

nginx 中配置

?
1
2
3
location ^~ /static/ {
 root /home/project/;
 }

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

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

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

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

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

總結

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/sinat_21302587/article/details/74059078

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩免费在线 | 欧美亚洲综合久久 | 亚洲不卡 | 91尤物网站网红尤物福利 | 午夜激情视频在线 | 日韩资源 | 久久国产免费 | 在线色av| 北条麻妃一区二区三区在线观看 | 国产黄色片免费观看 | 亚洲精品国产9999久久久久 | 午夜影院在线 | 玖玖精品视频 | 免费岛国片 | 亚洲 激情 在线 | 色综合久久久久 | 国产精品毛片a√一区 | 一本一本久久a久久精品综合妖精 | 成人免费激情视频 | 国产福利一区二区三区视频 | 久久精品国产99精品国产亚洲性色 | 国产精品久久久爽爽爽麻豆色哟哟 | 日韩精品一区二区三区在线观看 | 日韩中文字幕一区二区 | 99久久久成人国产精品 | 青青草国产在线 | 亚洲综合一二区 | 一本色道久久综合狠狠躁篇怎么玩 | 久久精品国产亚洲一区二区三区 | 三级在线视频 | 久操成人 | 欧美精品一区二区三区蜜桃视频 | 午夜精品久久久久久久 | 在线精品国产一区二区三区 | 国产精品毛片久久久久久久 | 日韩欧美一二三区 | 性欧美成人播放77777 | 专干老肥女人88av | 精品久久久久久久久久久久久久久久久久久 | 手机在线观看 | 日韩在线不卡 |