В base.html
,Джанго поиск шаблона в неустановленном месте
<a href="/login">Log In</a>
В главном urls.py
,
from ...
from accounts.views import login_view, logout_view, register_view
urlpatterns = [
...
url(r'^login/', login_view),
....
]
В счетах views.py
,
def login_view (request):
request.session.set_expiry(request.session.get_expiry_age())
form = UserLoginForm(request.POST or None)
title = "Login"
if form.is_valid() :
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(username=username, password=password)
login(request,user)
return HttpResponseRedirect('/')
return render(request, 'accounts/login_form.html',{ "form" : form, "title": title})
Когда Log In
щелчок, login_form
шаблон находится в 'registration/login.html'
вместо 'accounts/login_form.html'
.
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.app_directories.Loader: /Users/***/Desktop/django/mysite/personal/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/***/Desktop/django/mysite/blog/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/***/Desktop/django/mysite/landing/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Users/***/Desktop/django/mysite/accounts/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/crispy_forms/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/pagedown/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/markdown_deux/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/tracking/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/django/contrib/admin/templates/registration/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/django/contrib/auth/templates/registration/login.html (Source does not exist)
Все это работает отлично, пока я не попробовал чрезмерно избавление registration/password_reset_form.html
, registration/password_reset_done.html
, registration/password_reset_confirm.html
, registration/password_reset_complete.html
для достижения функциональности сброса пароля.
Основные urls.py
были включены,
url(r'^user/password/reset/$','django.contrib.auth.views.password_reset',{'post_reset_redirect' : '/user/password/reset/done/'},name="password_reset"),
url(r'^user/password/reset/done/$','django.contrib.auth.views.password_reset_done'),
url(r'^user/password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$','django.contrib.auth.views.password_reset_confirm',{'post_reset_redirect' : '/user/password/done/'}),
url(r'^user/password/done/$','django.contrib.auth.views.password_reset_complete'),
Любые предложения? Благодаря !
Edit: Шаблон ищется в нужном месте только тогда, когда /login
, /logout
и /register
не используются в качестве пути URL. Я пробовал использовать /user_login
, /user_logout
и /user_register
, и это сработало. Я думаю, что это противоречит встроенному логину urls.py
. Как исправить это?
Вы используете сторонние пакеты для входа? – itzMEonTV
@itzmeontv: Нет третьей стороны. Получилось решение. Выложили это как ответ! –