【问题标题】:Django admin static files only -> 404仅 Django 管理静态文件 -> 404
【发布时间】:2012-02-03 11:52:06
【问题描述】:

我有一个可以在嵌入式服务器上正常工作的 django 项目,但是当我尝试在 Apache/mod_wsgi 上使用它时,找不到管理页面 (/static/admin/css) 的静态文件 (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

但没有运气。

【问题讨论】:

    标签: python django django-admin


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2020-10-17
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      相关资源
      最近更新 更多