Django 静态文件是从静态文件目录部署的,而不是从静态根目录部署的

Django 静态文件是从静态文件目录部署的,而不是从静态根目录部署的,django,django-staticfiles,Django,Django Staticfiles,我在开发环境中部署文件时遇到问题。 请参阅下面的我的配置。 python manage.py collectstatic按预期从'/Users/vikingosegundo/Projects/website/media/'收集所有文件,并将其存储在/Users/vikingosegundo/Projects/website/mydjangoproject/static/ 但是,尽管使用时指向css文件的链接是正确的(呈现为),但是/Users/vikingosegundo/Projects/we

我在开发环境中部署文件时遇到问题。
请参阅下面的我的配置。
python manage.py collectstatic
按预期从
'/Users/vikingosegundo/Projects/website/media/'
收集所有文件,并将其存储在
/Users/vikingosegundo/Projects/website/mydjangoproject/static/

但是,尽管使用
时指向css文件的链接是正确的(呈现为
),但是
/Users/vikingosegundo/Projects/website/media/
上的原始文件将被部署,而不是从
静态根目录
/Users/vikingosegundo/Projects/website/mydjangoproject/STATIC/

即使我删除了
/Users/vikingosegundo/Projects/website/media/
中的文件

我的错误配置在哪里

设置.py

MEDIA_ROOT = '/Users/vikingosegundo/Projects/website/mydjangoproject/media/'
MEDIA_URL = '/sitemedia/'
STATIC_ROOT = '/Users/vikingosegundo/Projects/website/mydjangoproject/static/'
STATIC_URL = '/staticmedia/'
STATICFILES_DIRS = [
       '/Users/vikingosegundo/Projects/website/media/',
]

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
     'django.core.context_processors.media',
    'django.core.context_processors.static',
)


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #....

)

我认为,这是因为使用django内置视图和助手提供静态文件仅用于开发和调试目的。当
DEBUG
在项目设置中为True时,静态文件将从其原始位置提供服务。这有助于避免每次更改CSS文件时被迫运行collectstatics管理命令

当您关闭调试设置时,
django.conf.url.static.static
及其同类帮助程序将停止工作,因为它们仅用于开发目的。尽管如此,模板标记仍然可以工作,因为它们必须在生产或开发中指向正确的静态文件URL

运行
collectstatic
management命令是将静态文件复制到其最终目的地(static_URL)的一个方便的助手,在生产环境中为其提供服务是您自己的责任。这最好通过一个(静态)web服务器位置来实现(避免通过django/python进程来实现),因此django的文档明确建议不要将django用于静态文件服务


有关在开发中提供静态文件的更多信息,请参阅。

嘿,谢谢你的回答。你似乎是对的。也许作者应该在离文档开头更近的地方添加警告。:)