今天按照 django 教程写了一个 django项目(version: 2.0.1), 并尝试部署到服务器上, 使用的是 nginx+gunicorn+supervisor
,其他都比较顺利, 唯独静态文件一直 404 读取不到.折腾了一两个小时终于解决, 必须记录一下.(404的原因暂时不清楚, 待解决)
查看日志都是Not Found: static/css/base.css
, 一开始静态文件放在各个子 app 中,发现部署后读不到,就用python manage.py collectstatic
放到根目录下的 static 文件夹,然而还是读不到,参考了这篇文章django+uwsgi+nginx部署,静态文件做了如下修改, 终于成功:
-
settings.py
添加或设置
DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['*']
STATIC_ROOT='/var/www/mysite/static'
-
urls.py
没有按文章说的来改, 没有变动 -
nginx 添加了配置
location /static/ {
alias /var/www/mysite/static/;
}
- 最后再用一次
python manage.py collectstatic
把静态文件收集到/var/www/mysite/static/
下, 重新运行项目, 成功加载静态文件.
写完发现格式不对, 看了下简书 markdown 教程, 没有找到教程里说的"预览"按钮......
新建了两篇文章终于看到预览按钮......
另外 django2.0.1 跟旧版改动挺大的? url 写法可以和 flask 一样了, url
函数也改成了path
网友评论