[英]Django - 404 static files not found
我知道这些问题有千篇一律,但没有一个问题帮助了我。
我无法访问要部署的静态文件,我已经将设置文件打入基础和生产环境,并将它们放在settings.py原始文件的文件夹中。
我已经完成了所有必要的工作,但它似乎仍然无法正常工作,我无法终生解决。
我试过几次编辑路径,没有任何更改。
也许我错过了一些显而易见的事情,其他人也可以看到。
base.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
INSTALLED_APPS = ['django.contrib.staticfiles',]
STATIC_URL = '/static/'
STATIC_DIRS = (os.path.join(BASE_DIR, 'static'),)
STATIC_ROOT = os.path.join(BASE_DIR, 'static_r')
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
我尝试了几种不同的操作,例如从BASE_DIR更改为直接进入索引中的静态文件的新PROD_DIR。
PROD_ROOT = os.path.dirname(os.path.abspath('__file__' ))
PROD_ROOT= os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath('__file__' ))))
PROD_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
似乎没有任何作用。
更新:
正如其他人建议的那样,我尝试了collectstatic,但是发现文件夹env / project / static_r
'0个文件复制到static_r'。
此外,还按照建议,我打印出base_dir和prod_dir并得到以下内容
“产品是/ user / venv / project”和“基础是/ user / venv / project / wsgi-folder”
ps这是我将prod_dir编辑为-
PROD_ROOT = os.path.dirname(os.path.abspath('__file__' ))
我不太确定,但是您确定它是STATIC_DIRS而不是STATICFILES_DIRS吗? '-'
您始终可以测试路径的方法是打印它。
所以在您的设置中
print BASE_DIR, STATIC_DIRS, STATIC_ROOT
您会看到错误在哪里。
我认为这是因为您将静态文件夹放在应用程序中而不是项目中,因为collectstatic
会将所有静态文件放在一个目录中,无论
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.