0

我的应用程序文件夹中有一个静态目录。我将这行代码添加到我的项目 settings.py 文件中

    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    '/var/www/static/',
]

该文件继续导致 404 未找到。我被卡住了,我该怎么办?

4

1 回答 1

0

您的静态文件设置可能不是错误。但要确保static应用程序目录中文件夹的相关设置是STATICFILES_FINDERS https://docs.djangoproject.com/en/2.1/ref/settings/#staticfiles-finders。但是AppDirectoriesFinder默认情况下应该存在,所以它可能没问题。

您的问题可能出在您的 URL 方案中:

出于开发目的,请确保您已django.contrib.staticfiles安装应用程序DEBUG = TrueSTATIC_URL = '/static/'(或类似的东西)。然后您应该可以访问这些文件。

部署它更复杂,但本质上你已经设置好STATIC_ROOT,在启动服务器运行命令之前,它将所有静态文件复制到一个位置,然后设置你的服务器(Nginx)以在URLpython manage.py collectstatic下提供此文件夹中的文件。/static/这是官方文档https://docs.djangoproject.com/en/2.1/howto/static-files/#deployment

注意:如果您的应用程序是foo并且您在应用程序下的目录中有bar文件,则该文件的 URL 将为.staticfoo/static/foo/bar

于 2018-10-28T05:38:06.470 回答