将settings.py文件中 DEBUG 设置为 False 之后,出现静态文件404的情况。
如图
很多博客的提供的解决方法是:
在settings.py文件中修改
STATIC_ROOT = "/var/www/example.com/static/"
然后运行命令
python manage.py collectstatic
再修改url
import settings
url(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_ROOT }),
其中/static/是可以按自己喜好改的 但是两个文件的后缀名要一致
但是在用这种方法的时候出现报错,
于是,第二种方法
先找到django静态文件的目录
具体命令是
root@server-zc:/home/x/mysite# python
>>> import django
>>> django.__file__
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/__init__.py'
然后得到/static的绝对路径
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/contrib/admin/static/'
修改settings:
STATIC_ROOT = '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/contrib/admin/static/'
STATIC_URL = '/static/'
最后修改url
import settings
url(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_ROOT }),
这种方法也适用于上传到服务器后的运行,在服务器环境下,再找到绝对路径即可。
进入后台
问题解决