2017-01-18 3 views
0

bekam ich einen Fehler:TemplateDoesNotExist bei/accounts/login/Fehler

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

Ich glaube, ich sollte login.html-Datei erstellen, aber wahrscheinlich ist es nicht für Standard-beahivor in Django erforderlich.

Nachdem ich login.html in Accounts/Templates/Accounts platziert wurde, ist der Fehler nicht verschwunden. Was soll ich als nächstes tun?

ich in urls.py Konten schrieb,

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') 
] 

in urls.py der Eltern app,

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')), 

] 

in VORLAGEN von settings.py der Eltern App

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', 
      ], 
     }, 
    }, 
] 

Ich fand in blowser, emplate-loader postmortem

Django versucht, diese Vorlagen Laden, in dieser Reihenfolge:

Mit Motor django: 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 (Quelle existiert nicht) django.template.loaders.app_directories.Loader: /Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7/site-packages/django/contrib/auth/templates/registrierung/login.html (Quelle existiert nicht)

Ich denke, vielleicht sollte ich Vorlagen Ordner machen. Jetzt habe ich ein Verzeichnis wie accounts/registration/accounts/login.html erstellt. Ich kann nicht verstehen, warum Fehler 2 Wege Verzeichnis zu Admin & auth.Should ich mache Admin & Auth Verzeichnis?

+0

Versuchen Sie, die Einstellungen in 'DIRS' zu ändern: [os.path.join (BASE_DIR, 'templates')] wobei BASE_DIR = os.path.dirname (os.path.dirname (os.path.abspath (__ file__))) –

+0

@AlexanderTyapkov thx, ich habe 'DIRS' hinzugefügt: [os.path.join (BASE_DIR, 'accounts', 'templates', 'accounts')] zu settings.py, aber ich habe denselben Fehler.Was soll ich tun? – kanade2017

+0

Welche Art von Konto App verwenden Sie? –

Antwort

0

Die Pfadnamen in Ihren Fehlermeldungen zeigen ein Leerzeichen kurz nach login/ - Dies ist wahrscheinlich nicht in den tatsächlichen Dateinamen enthalten, so dass die Dateien nicht gefunden werden können. In einem Fall ist es ein normaler Platz, in dem anderen ist es ein Unicode "IDEOGRAPHIC SPACE" (U + 3000). Ich sehe nicht, woher das in Ihrem Quellcode stammt.

+0

thx, ich möchte Unicode 'IDEOGRAPHIC SPACE' (U + 3000) von Ihren Kommentaren überprüfen, aber ich weiß nicht wie. Was soll ich tun? – kanade2017

+0

Ich habe keine Ahnung, wie Sie einen von diesen absichtlich eingeben würden. Sie können einen aus dem Titel Ihrer Frage oben auf dieser Seite kopieren und einfügen - der Abstand zwischen __login/__ und __error__ ist einer davon. Wenn Ihr Code-Editor ein "show invisibles" oder ein ähnliches Feature aufweist, werden möglicherweise alle Elemente angezeigt, die versehentlich in Ihren Code eingegeben wurden. – jasonharper

1

Für das Hinzufügen von mir gearbeitet:

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

Achten Sie den Browser-Cache zu löschen.

Verwandte Themen