2017-01-18 17 views
0

で、私はエラーを得ました。TemplateDoesNotExist /アカウント/ログイン/エラー

アカウント/テンプレート/アカウントにlogin.htmlを配置した後、エラーは消えませんでした。次に何をする必要がありますか?私はアカウントのurls.pyに書い

、親アプリの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') 
] 

、親アプリのsettings.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')), 

] 

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

ブロワーで見つかりました emplate-loader postmortem

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(ソースは存在しません) 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ディレクトリを作るでしょうか?

+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')]をsettings.pyに追加しましたが、同じエラーが発生しました。 – kanade2017

+0

どのような種類のアカウントアプリを使用していますか? –

答えて

0

エラーメッセージのパス名には、login/の直後のスペース文字が表示されています。実際のファイル名には含まれていない可能性があります。あるケースでは通常のスペースですが、もう1つはUnicode 'IDEOGRAPHIC SPACE'(U + 3000)です。あなたのソースコードのどこから来るのか分かりません。

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

は、ブラウザのキャッシュを削除するように注意してください:私にとって

+0

thx、私はUnicodeの 'IDEOGRAPHIC SPACE'(U + 3000)のurのコメントをチェックしたいと思っていますが、どうやったらいいですか? – kanade2017

+0

どのように意図的に入力するのかはわかりません。このページの上部に質問のタイトルからコピー&ペーストすることができます。__login/__と__error__の間のスペースはその1つです。コードエディタに「不可視の表示」などの機能がある場合、誤ってコードに入力されたものが表示されることがあります。 – jasonharper

1

が追加働きました。

関連する問題