Python Django管理模板在生产中被破坏

Python Django管理模板在生产中被破坏,python,django,templates,heroku,Python,Django,Templates,Heroku,我正在与django合作,并试图将我的应用程序部署到heroku 所有这些都在本地运行,没有任何问题(即使DEBUG=False),但是当部署到heroku时,当DEBUG=False时,管理模板不会显示 我按照以下说明配置我的设置.py: 这是我的文件: web: gunicorn bourse_logements.wsgi -b 0.0.0.0:$PORT 请随意询问您是否需要我设置的某些部分。py,我将粘贴它们 任何帮助都将不胜感激 编辑: 这是我的settings.py: *将此行添加

我正在与django合作,并试图将我的应用程序部署到heroku

所有这些都在本地运行,没有任何问题(即使DEBUG=False),但是当部署到heroku时,当DEBUG=False时,管理模板不会显示

我按照以下说明配置我的设置.py:

这是我的文件:

web: gunicorn bourse_logements.wsgi -b 0.0.0.0:$PORT
请随意询问您是否需要我设置的某些部分。py,我将粘贴它们

任何帮助都将不胜感激

编辑: 这是我的settings.py:

*将此行添加到您的设置中。py*

ADMIN_MEDIA_PREFIX = '/static/admin/'
您还必须将所有管理CSS和JavaScript复制到静态路径(静态文件夹中)
与static/admin/“you staticfiles”

一样,您可以根据setting.py上的配置尝试此设置

from unipath import Path
PROJECT_DIR = Path(__file__).ancestor(3)
PROJECT_ROOT = Path(__file__).ancestor(2)
sys.path.insert(0, Path(PROJECT_ROOT, 'apps'))
MEDIA_ROOT = PROJECT_DIR.child("media")
MEDIA_URL = '/media/'
STATIC_ROOT = PROJECT_DIR.child("collected_static")
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    PROJECT_DIR.child("static"),
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
    #'django.template.loaders.eggs.Loader',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)
TEMPLATE_DIRS = (
    Path(PROJECT_ROOT, 'templates'),
)
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.flatpages',
)
#Heroku特定设置

import dj_database_url
DATABASES['default'] =  dj_database_url.config()

# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

# Allow all host headers
ALLOWED_HOSTS = ['*']
#您也可以在url.py中尝试

if settings.LOCAL_DEV:
    baseurlregex = r'^media/(?P<path>.*)$'
    urlpatterns += patterns('',
        (baseurlregex, 'django.views.static.serve',
        {'document_root':  settings.MEDIA_ROOT}),
    )
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    urlpatterns += staticfiles_urlpatterns()
if settings.LOCAL\u DEV:
baseurlregex=r'^media/(?P.*)$'
urlpatterns+=模式(“”,
(baseurlregex,'django.views.static.service',
{'document_root':settings.MEDIA_root}),
)
从django.contrib.staticfiles.url导入staticfiles\u urlpatterns
urlpatterns+=静态文件\u urlpatterns()

您确定没有。git忽略templates文件夹吗?

请粘贴您的全部设置。py?您对“模板已损坏”的确切含义是什么?浏览器返回404?无法打开管理页面?还是加载资产失败?@Leonardo.Z:页面正在加载,我可以登录,但显示不正确。请参阅:自Django 1.4以来,ADMIN_MEDIA_前缀已被弃用,人们应该运行
collectstatic
,而不是手动复制文件。请告诉我Django版本?如果您使用Django>=1.5,则必须。/manage.py collectstatic。我使用的是Django 1.5。我运行了collectstatic,因此它可以在本地工作,但我无法对heroku执行相同的操作heroku的特定设置是,在许多项目中,您可以尝试使用此设置。根据您的配置更改路径。请看下一个答案。