2017-06-12 37 views
0

我一直在試圖讓django呈現我創建的模板。起初它說模板不存在,但是一旦我修復了這個錯誤,它現在將字符添加到路徑中,並且因爲這個原因而沒有找到模板。Python; Django將字符添加到導致操作系統錯誤的路徑名稱22

的路徑應該是: C:\\Users\\ABC\\Desktop\\science_crowd\\Lightweight_Django\\placeholder\\home.html

但是錯誤說,它無法找到: C:\\Users\\Benjamin\\Desktop\\science_crowd\\Lightweight_Django\\placeholder\\:\\home.html

它增加了一個冒號和一個反斜槓沒有理由。

該項目的設置如下:

ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '127.0.0.1').split(',') 

BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 

settings.configure(
    DEBUG = DEBUG, 
    SECRET_KEY = SECRET_KEY, 
    ALLOWED_HOSTS = ALLOWED_HOSTS, 
    ROOT_URLCONF = __name__, 
    MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    ), 
    INSTALLED_APPS = (
     'django.contrib.admin', 
     'django.contrib.auth', 
     'django.contrib.contenttypes', 
     'django.contrib.sessions', 
     'django.contrib.messages', 
     'django.contrib.staticfiles' 
    ), 
    TEMPLATES = [ 
     { 
      'BACKEND': 'django.template.backends.django.DjangoTemplates', 
      'DIRS': os.path.join(BASE_DIR, 'templates'), 
      'APP_DIRS': True, 
      'OPTIONS': { 
       'context_processors': [ 
        "django.contrib.auth.context_processors.auth", 
       ], 
      }, 
     }, 
    ], 
    STATICFILES_DIRS = (
     os.path.join(BASE_DIR, 'static'), 
    ), 
    STATIC_URL = '/static/', 
) 

正試圖呈現模板的觀點:

def index(request): 
    example = reverse('placeholder', kwargs = {'width': 50, 'height': 50}) 
    context = { 
     'example': request.build_absolute_uri(example) 
    } 
    dir = os.path.join(BASE_DIR, 'templates') 
    return render(request, 'home.html', context = context) 

非常感謝你的幫助!

回答

2

DIRS設置需要列表或元組。試試:

'DIRS': [os.path.join(BASE_DIR, 'templates')], 
相關問題