我知道有关这些问题的一小部分,但没有人帮助我。
我无法访问我的静态文件进行部署,我已将设置文件转储到base和production中,并将它们放在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并得到以下内容
" prod是/ user / venv / project" &安培; " base是/ user / venv / project / wsgi-folder"
p.s这是在我将prod_dir编辑为 -
之后PROD_ROOT = os.path.dirname(os.path.abspath('__file__' ))
答案 0 :(得分:1)
我不太确定,但你确定它是STATIC_DIRS而不是STATICFILES_DIRS吗? ' - '
答案 1 :(得分:0)
根据您的设置,您的静态文件应位于/ project / static /中,而不是单个应用中。
您还需要按照documentation
中的说明加载静态文件{% load static %}
<img src="{% static "my_app/example.jpg" %}" alt="My image"/>
答案 2 :(得分:0)
您可以随时使用的方法来打印它。
所以在你的设置中
print BASE_DIR, STATIC_DIRS, STATIC_ROOT
你会看到你的错误在哪里。
在我看来,你将静态文件夹放在应用程序中,而不是放在项目中,因为collectstatic
会将所有静态文件放在一个目录中,无论