2016-08-01 13 views
0

Ich habe seit Tagen an diesem Problem gearbeitet und ich würde wirklich wirklich etwas Hilfe hier lieben! :)TemplateDoesNotExist at/base/index.html bei der Bereitstellung in Heroku

Ich bin brandneu zu Python, Django und Stackoverflow, also lassen Sie mich bitte wissen, ob mehr Informationen oder ein anderes Format hilfreich wäre.

Ich versuche, meine App auf Heroku bereitzustellen. Es läuft lokal, aber wenn ich versuche zu

heroku open

ich die folgende Fehlermeldung erhalten:

TemplateDoesNotExist at/ base/index.html

ich das andere geschehen gesehen habe, und ich habe folgende Korrekturen versucht, die nicht haben bearbeitetem indem index.html direkt in Vorlagen anstelle von Vorlagen> base

(r'', include('templates.urls')),

meiner urls.py

und hinzugefügt

'templates'

zu meiner settings.py. Das hat dazu geführt, dass die App nicht mehr lokal ausgeführt wurde, also habe ich sie zurückgestellt.

  • änderte mein views.py aus:
from django.shortcuts import render from django.views.generic.base 
import TemplateView 
# Create your views here. class LandingView(TemplateView): 
    template_name = "base/index.html" 

zu

from django.shortcuts import render 
from django.views.generic.base import TemplateView 
# Create your views here. 
class LandingView(TemplateView): 
    template_name = [os.path.join(MAIN_DIR, 'coffeedapp2/templates')], 
from django.shortcuts import render 
from django.views.generic.base import TemplateView 
# Create your views here. 
class LandingView(TemplateView): 
    template_name = "base/index.html" 

zu

from django.shortcuts import render 
from django.views.generic.base import TemplateView 
# Create your views here. 
class LandingView(TemplateView): 
    template_name = "base/index.html" 

(TemplateDoesNotExist at/at templates/index.html)

Ich denke, dass ich kann einen SITE_ROOT oder etwas zu definieren, aber wenn ich versuche, das zu tun, hört es auf, lokal zu laufen.

ERROR:

TemplateDoesNotExist at/base/index.html Request Method: GET Request URL: https://salty-journey-18003.herokuapp.com/ Django Version: 1.9.7 Exception Type: TemplateDoesNotExist Exception Value: base/index.html Exception Location: /app/.heroku/python/lib/python2.7/site-packages/django/template/loader.py in select_template, line 74 Python Executable: /app/.heroku/python/bin/python Python Version: 2.7.12 Python Path: ['/app', '/app/.heroku/python/bin', '/app/.heroku/python/lib/python2.7/site-packages/setuptools-23.1.0-py2.7.egg', '/app/.heroku/python/lib/python2.7/site-packages/pip-8.1.2-py2.7.egg', '/app', '/app/.heroku/python/lib/python27.zip', '/app/.heroku/python/lib/python2.7', '/app/.heroku/python/lib/python2.7/plat-linux2', '/app/.heroku/python/lib/python2.7/lib-tk', '/app/.heroku/python/lib/python2.7/lib-old', '/app/.heroku/python/lib/python2.7/lib-dynload', '/app/.heroku/python/lib/python2.7/site-packages'] Server time: Mon, 1 Aug 2016 20:50:53 +0000 Template-loader postmortem

Django tried loading these templates, in this order:

Using engine django: django.template.loaders.filesystem.Loader: /coffeedapp2/templates/base/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/templates/base/index.html (Source does not exist) django.template.loaders.app_directories.Loader: /app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/templates/base/index.html (Source does not exist)

Einstellungen.py

""“

Django settings for coffeedapp2 project. 

Generated by 'django-admin startproject' using Django 1.9.7. 

For more information on this file, see 
https://docs.djangoproject.com/en/1.9/topics/settings/ 

For the full list of settings and their values, see 
https://docs.djangoproject.com/en/1.9/ref/settings/ 
""" 

import os 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
MAIN_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) 



# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = '^h)ohz4qbhu&5po084_ob8qy+1c*h^tb#jtab!p965^[email protected]&64q!' 

# SECURITY WARNING: don't run with debug turned on in production! 
DEBUG = True 

ALLOWED_HOSTS = [] 


# Application definition 

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'core', 
] 

MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
] 

ROOT_URLCONF = 'coffeedapp2.urls' 

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(MAIN_DIR, 'coffeedapp2/templates')], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.contrib.auth.context_processors.auth', 
       'django.template.context_processors.debug', 
       'django.template.context_processors.i18n', 
       'django.template.context_processors.media', 
       'django.template.context_processors.static', 
       'django.template.context_processors.tz', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

WSGI_APPLICATION = 'coffeedapp2.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 
    } 
} 

# Update database configuration with $DATABASE_URL. 
import dj_database_url 
db_from_env = dj_database_url.config() 
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 = ['*'] 


# Password validation 
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators 

AUTH_PASSWORD_VALIDATORS = [ 
    { 
     'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 
    }, 
    { 
     'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 
    }, 
] 


# Internationalization 
# https://docs.djangoproject.com/en/1.9/topics/i18n/ 

LANGUAGE_CODE = 'en-us' 

TIME_ZONE = 'UTC' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 

STATIC_URL = '/static/' 


STATICFILES_DIRS = (
    os.path.join(MAIN_DIR, 'coffeedapp2', 'static'), 
    ) 

coffeedapp> urls.py

from django.conf.urls import url 
from django.contrib import admin 
from django.conf.urls import include 
from django.conf.urls import patterns 

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    (r'', include('core.urls')), 
) 

Kern> urls.py

from django.conf.urls import patterns, include, url 
import core.views as coreviews 
from django.conf.urls import include 

urlpatterns = patterns('', 

    url(r'^$', coreviews.LandingView.as_view()), 
) 

Kern> views.py

from django.shortcuts import render 
from django.views.generic.base import TemplateView 
# Create your views here. 
class LandingView(TemplateView): 
    template_name = "base/index.html" 

See image of file structure

Relevant file structure: 

coffeedapp2 
    coffeedapp2 
    _init_.py 
    settings.py 
    settings.py 
    urls.py 
    wsgi.py 
    core 
    migrations 
    _init_.py 
    admin.py 
    apps.py 
    models.py 
    tests.py 
    urls.py 
    views.py 
    static 
    templates 
    base 
     index.html 

Antwort

0

In Ihrem TEMPLATES Einstellung, versuchen Sie, Ihre DIRS Einstellung zu ändern:

'DIRS': [os.path.join(BASE_DIR, 'templates')], 

Dies ist der übliche Ansatz, ich aus irgendeinem Grund nicht sehen kann MAIN_DIR zu verwenden, wie Sie gerade tun.

Halten Sie die Vorlage als

template_name = "base/index.html" 
+0

Vielen Dank !!! Das hat funktioniert! Es kommt ohne das CSS auf Heroku durch, aber ich kann wahrscheinlich herausfinden, wie ich das beheben kann. Ich danke dir sehr!!!! – Leanne

Verwandte Themen