2017-01-18 3 views
0

я получил ошибку:TemplateDoesNotExist в/счетов/логин/ошибки

TemplateDoesNotExist at /accounts/login/ registration/login.html.

Я думаю, что я должен создать файл login.html но, вероятно, не требуется в Django для дефолтного beahivor.

После того, как я поместил login.html в учетные записи/шаблоны/учетные записи, ошибка не исчезла. Что делать дальше?

я писал в urls.py счетов,

from django.conf.urls import url 
from django.contrib.auth.views import login, logout 

urlpatterns = [ 
    url(r'^login/$', login, 
     name='login'), 
    url(r'^logout/$', logout, name='logout') 
] 

в urls.py родительского приложения,

from django.conf import settings 
from django.conf.urls import include, url 
from django.conf.urls.static import static 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^accounts/', include('accounts.urls')), 
    url(r'^api/', include('UserToken.urls')), 

] 

в шаблонах settings.py родительского приложения

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 

Я нашел в blowser, эмблема-загрузчик postmortem

Джанго попытался загрузки этих шаблонов, в следующем порядке:

Использование двигателя Джанго: django.template.loaders.app_directories.Loader: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/django/contrib/admin/templates/registration/login.html (источник не существует) django.template.loaders.app_directories.Loader: /Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7/site-packages/django/contrib/auth/templates/registration/login.html (Источник не существует)

Я думаю, может быть, я должен сделать папку с шаблонами. Теперь я создал каталог, такой как accounts/registration/accounts/login.html. Я не могу понять, почему ошибка показывает 2 пути каталога для администратора & auth.Should я могу сделать администратор & auth directory?

+0

Попробуйте изменить настройки на «DIRS»: [os.path.join (BASE_DIR, 'templates')] где BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file__))) –

+0

@AlexanderTyapkov thx, я добавил 'DIRS': [os.path.join (BASE_DIR, 'accounts', 'templates', 'accounts')]] to settings.py, но у меня такая же ошибка. Что делать? – kanade2017

+0

какое приложение для аккаунтов вы используете? –

ответ

0

Путь в ваших сообщениях об ошибке отображается пробелом после login/ - это, вероятно, не содержится в фактических именах файлов, поэтому файлы не могут быть найдены. В одном случае это нормальное пространство, в другом - Юникодное «ИДЕОГРАФИЧЕСКОЕ ПРОСТРАНСТВО» (U + 3000). Я не вижу, откуда это происходит в исходном коде.

+0

thx, я хочу проверить Unicode 'IDEOGRAPHIC SPACE' (U + 3000) комментариев ур, но я не знаю, как. Что мне делать? – kanade2017

+0

Я понятия не имею, как вы наберете одну из этих намеренно. Вы можете скопировать и вставить один из заголовка своего вопроса в верхней части этой страницы - пространство между __login/__ и __error__ является одним из них. Если в вашем редакторе кода есть «show invisible» или аналогичная функция, он может отображать все, что было случайно введено в вашем коде. – jasonharper

1

Для меня работал, добавив:

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

Позаботьтесь, чтобы удалить кэш браузера.