站長資訊網
最全最豐富的資訊網站

Django修改了css文件不生效怎么辦

解決方法:1、正確配置“settings.py”文件里的“STATIC_URL”和“STATIC_ROOT”;2、執行“python manage.py collectstatic”命令;3、重啟gunicorn和nginx即可。

Django修改了css文件不生效怎么辦

本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

將Django部署到服務器之后,每一次在本地端對網站的修改都需要在服務端進行同步,在寫本文之前,我還以為只是把源碼保持同步就可以了,沒想到卻遇到了今天的問題。

修改了main.css文件之后,然后我通過git對網站進行了同步,代碼已經成功同步到了服務器上。但就是無法正常顯示,經一番查找探究之后,我發現了修改css等靜態文件的正確姿勢…

1.配置文件

首先應該改確保你項目下的settings.py文件已經正確配置了STATIC_URL和STATIC_ROOT:

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

請注意引號里面的"/",多一個或者少一個/",都會使你的修改無法生效,我就是因為這里多了一個"/",翻了車。那這兩個參數具體是什么意思呢?

STATIC_ROOT是一個絕對地址,它是在Django部署的時候才會用到,它所對應的文件夾是存放被從項目各個地方收集來的靜態文件,因為一個Django可能有多個APP,相應的,每個APP可能都會有自己的static文件,將各個APP中的靜態文件收集到一起是為了nginx統一使用。那這些文件是由誰來收集的呢?這個問題會在第二步的時候說到。

STATIC_URL的作用就是為了能夠瀏覽器訪問到你的靜態文件,起到了一個映射的作用。一般默認設置為"/static/"

2.收集文件

本地css文件同步到服務器之后,只是同步到了對應APP下面的static文件夾里面,但是nginx等調用的是你設置的STATIC_ROOT文件夾下的文件,所以代碼同步之后我們要進行這個非常重要的操作:

python manage.py collectstatic

運行完這條代碼之后,剛剛修改的main.css文件將會被收集到網站根目錄下的static文件中,等待nginx的調用。

3.重啟服務

前兩步做完之后,你還需要重啟一下gunicorn和nginx,不過我沒有重啟也生效了,如果沒有生效的話建議執行此步驟。

# 查看gunicorn進程ID pstree -ap | grep gunicorn  # 重啟進程 kill -HUP ID

推薦學習:css視頻教程

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
2022精品天堂在线视频| 日韩欧群交P片内射中文| 91精品国产亚洲爽啪在线影院| 亚洲永久精品ww47| 久久se精品一区二区影院| 国产精品99无码一区二区| 日韩AV无码精品一二三区| 日韩在线不卡免费视频一区| 国产成人精品福利网站人| 国产精品视频免费一区二区三区| 无码aⅴ精品一区二区三区 | 国产日韩精品视频一区二区三区| 国产成人精品午夜视频'| 国产精品伦子一区二区三区| 国产精品自在线天天看片| 精品精品国产自在97香蕉| 国产精品久久久久久久久久免费| 久久精品国产亚洲av天美18| 99久久国产亚洲综合精品| 久久综合鬼色88久久精品综合自在自线噜噜 | 久久精品视频久久| 亚洲动漫精品无码av天堂| 国产精品后入内射日本在线观看| 热99re久久国超精品首页| 亚洲av永久无码精品古装片| 久久久久人妻精品一区蜜桃| 无码国内精品人妻少妇| 99ee6热久久免费精品6| 亚洲精品美女久久久久| 久久精品国产久精国产果冻传媒| 国产精品免费观看| 国产精品福利电影| 精品人人妻人人澡人人爽牛牛| 国产精品∧v在线观看| 国产精品美女乱子伦高| 国产大片51精品免费观看| 日韩GAY小鲜肉啪啪18禁| 一本久久伊人热热精品中文| 精品人体无码一区二区三区| 奇米影视7777久久精品人人爽| 亚洲国产精品嫩草影院在线观看|