Apache不提供来自STATIC_ROOT但静态目录Django的文件

时间:2015-06-06 23:34:44

标签: django apache

编辑问题已回答。正在更新错误的配置文件。

我正在尝试让Apache(2.4.7(Ubuntu))将staticfiles目录中的文件作为STATIC_ROOT提供。但是在我使用apache的机器上,它似乎是从static目录提供文件。

这些是与settings.py

中的静态文件相关的设置
STATIC_ROOT = '/home/myproject/staticfiles/'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

STATICFILES_FINDERS = (
  'django.contrib.staticfiles.finders.FileSystemFinder',
  'django.contrib.staticfiles.finders.AppDirectoriesFinder',
  # other finders..
  'compressor.finders.CompressorFinder',
)

这些是与apache2.conf中的静态文件相关的设置

Alias /static/ /home/myproject/staticfiles/

<Directory /home/myproject/staticfiles>
  Require all granted
</Directory>

/home/myproject/static中存在我的所有静态文件,我想从/home/myproject/staticfiles

提供这些文件

正在运行python manage.py collectstatic似乎打印了正确的消息

  

您已请求在目的地收集静态文件   您在设置中指定的位置:   /家庭/ myproject的/ staticfiles

出于测试目的,我有一个文件static/test1.css,显示在myproject.com/static/test1.css上。但是文件staticfiles/test2.css未显示在myproject.com/static/test2.css上。这证实了Apache正在使用/ static /而不是/ staticfiles /

来呈现文件

我错过了一些基本的东西吗?我在Django 1.7上现在已经盯着这一段时间,并希望得到任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

我意识到我正在为apache更新错误的配置文件。 我有/etc/apache2/apache2.conf/etc/apache2/sites-available/myproject.com.confmyproject.com.conf中的设置优先于apache2.conf设置。应该早点意识到。糟糕!