Django 2静态文件

jq6vz3qz  于 2023-03-24  发布在  Go
关注(0)|答案(1)|浏览(109)

我知道这个问题已经被问过无数次了,但是不要问Django的静态文件处理。在prod中,我将部署在s3中,它已经工作得很好了。但是在dev(本地运行)中就没有那么多了。
问题一:
如果我将配置设置为:

if ENVIRONMENT == "dev":
  BASE_DIR = os.path.dirname(os.path.dirname(__file__))
  STATIC_URL = '/static/'
  STATICFILES_DIRS = [
      os.path.join(BASE_DIR, 'static'),
  ]

由于以下错误,我无法运行collectstatic:
django.core.exceptions.ImproperlyConfigured:您正在使用staticfiles应用程序,但没有将STATIC_ROOT设置为文件系统路径。
好的,这是有意义的,所以我将其配置为以下问题2:

if ENVIRONMENT == "dev":
  BASE_DIR = os.path.dirname(os.path.dirname(__file__))
  STATIC_URL = '/static/'
  STATIC_ROOT = os.path.join(BASE_DIR, 'static')

现在我可以运行collectstatic。但是如果运行服务器,它将找不到静态文件:
“GET/static/css/bootstrap.min.css HTTP/1.1”404
我不明白的是:问题1可以为问题2收集的静态文件提供服务...我如何配置Django 2来简单地收集和服务项目根目录下一个简单的“静态”文件夹中的静态文件?

2jcobegt

2jcobegt1#

你的问题令人困惑。你显然需要定义 * STATIC_ROOT * 和 * STATICFILES_DIRS;第二个是从哪里收集文件,第一个是从哪里收集和提供文件。
无论如何,在开发中你不需要运行collectstatic,所以我不知道你为什么要问这个问题。

相关问题