我的应用程序文件夹中有一个静态目录。我将这行代码添加到我的项目 settings.py 文件中
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
该文件继续导致 404 未找到。我被卡住了,我该怎么办?
我的应用程序文件夹中有一个静态目录。我将这行代码添加到我的项目 settings.py 文件中
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
该文件继续导致 404 未找到。我被卡住了,我该怎么办?
您的静态文件设置可能不是错误。但要确保static
应用程序目录中文件夹的相关设置是STATICFILES_FINDERS
https://docs.djangoproject.com/en/2.1/ref/settings/#staticfiles-finders。但是AppDirectoriesFinder
默认情况下应该存在,所以它可能没问题。
您的问题可能出在您的 URL 方案中:
出于开发目的,请确保您已django.contrib.staticfiles
安装应用程序DEBUG = True
和STATIC_URL = '/static/'
(或类似的东西)。然后您应该可以访问这些文件。
部署它更复杂,但本质上你已经设置好STATIC_ROOT
,在启动服务器运行命令之前,它将所有静态文件复制到一个位置,然后设置你的服务器(Nginx)以在URLpython manage.py collectstatic
下提供此文件夹中的文件。/static/
这是官方文档https://docs.djangoproject.com/en/2.1/howto/static-files/#deployment
注意:如果您的应用程序是foo
并且您在应用程序下的目录中有bar
文件,则该文件的 URL 将为.static
foo
/static/foo/bar