Django项目部署到centos中,按照如下步骤执行:
将Django项目中的settings.py文件中的DEBUG模式设置未Flase模式;并在静态文件部分配置静态文件根目录:
STATIC_ROOT = os.path.join(BASE_DIR,'static_dist')
在服务器的项目文件下,运行如下命令收集静态文件:
python manage.py collectstatic
然后执行开始运行项目;发现项目运行成功。网页访问时,显示界面没有加载静态文件。
检查之前的操作步骤等,并没有发现问题,之后继续查找原因发现有这样一条命令:
# 这条命令是仍然调用本地的静态文件,而不是collectstatic收集的文件
python manage.py runserver 0.0.0.0:8000 --insecure
可以调用本地的静态文件,但是实际并未解决问题,待问题解决后,继续更新
参考:
https://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail
补充:
这里因为没有使用nginx
+uwsgi
部署,关闭DEBUG后,Django
内置服务器默认不再通过访问项目根目录下的static
文件所以,所有的静态文件不能访问。
可以使用nginx
+uwsgi
的模式,nginx
负责静态服务、uwsgi
负责动态文件的访问。
具体的部署问题,后面有时间回总结下来进行说明。