2012-01-05 72 views
2

我有一个django项目,可以在嵌入式服务器上正常工作,但是当我尝试在Apache/mod_wsgi上使用它时,管理页面的静态文件(/ static/admin/css )没有找到(404)。这里是我的设置:只有Django管理静态文件 - > 404

MEDIA_ROOT = '' 
MEDIA_URL = '' 
STATIC_ROOT = '/var/www/wsgi/myproject/static' 
STATIC_URL = '/static/' 
ADMIN_MEDIA_PREFIX = '/static/admin/' 

STATICFILES_DIRS =() 

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


TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
    ) 

TEMPLATE_CONTEXT_PROCESSORS = (
    "socialauth.context_processors.facebook_api_key", 
    'django.core.context_processors.media', 
    "django.contrib.auth.context_processors.auth", 
    "django.core.context_processors.request", 
    "django.core.context_processors.static", 
    ) 

ROOT_URLCONF = 'myproject.urls' 

TEMPLATE_DIRS = ('/var/www/wsgi/myproject/templates',) 

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'django.contrib.admin', 
    'myproject.myapp', 
    ) 

我还试图运行

sudo python ./manage.py collectstatic 

,但没有运气。

回答

1

你的apache虚拟主机配置是什么样的?您应该为STATIC_ROOT路径包含Alias指令。

东西沿着这些路线:

Alias /static [project-path]/static 
Alias /media [project-path]/media 
<Directory [project-path]/static> 
    Order deny,allow 
    Allow from all 
</Directory> 
<Directory [project-path]/media> 
    Order deny,allow 
    Allow from all 
</Directory> 

当你写,你需要要在生产中部署新的静态文件,每次运行./manage collectstatic