2017-12-26 5 views
0

장고에 새로 왔습니다.장고는 내 HTML 대신 기본 재설정 양식을 사용합니다.

urlpatterns = [ 

    path('login/', auth_views.login, name='login'), 
    path('logout/', auth_views.logout_then_login, name='logout'), 
    path('reset/', auth_views.password_reset, name='reset'), 
    path('reset/done', auth_views.password_reset_done, name='password_reset_done'), 
    path('reset/<slug:uidb64>/<slug:token>/', auth_views.password_reset_confirm, name='password_reset_confirm'), 
    path('reset/done/', auth_views.password_reset_complete, name='password_reset_complete'), 
] 

이 내 urls.py에 있고 password_reset_done.html 및 기타 파일이 accounts/templates/registration에 있습니다. 하지만 Django는 리셋을 위해 디퍼 폼을 사용하지만 같은 디렉토리에서 login.html을 사용합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 감사합니다. 기본 등록/password_reset.html 템플릿을 사용하지 않으려면

답변

0

하는 것은, 그렇게

url(r'^password_reset/$', auth_views.password_reset, {'template_name': 'accounts/reset_password.html'}), 

같은 파이썬 사전 인 URLPATTERN의 세 번째 매개 변수를 포함 할 수 있습니다 또는 당신이 템플릿을 사용하는 경우/registration/.... 템플릿은 기본적으로 렌더링됩니다. 당신이 path 쓰기 그러나 당신이 당신의 URL을에 문제가 어쩌면 보면,

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^login/$', auth_views.login), 
    url(r'^logout/$', auth_views.logout), 
    url(r'^', include('mysite.urls')), 
    url('^', include('django.contrib.auth.urls')), 
    url(r'^password_reset/$', auth_views.password_reset), 
    url(r'^password_reset/done/$', auth_views.password_reset_done), 
    url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', 
    auth_views.password_reset_confirm), 
    url(r'^reset/done/$', auth_views.password_reset_complete), 
] 

봐 드 diference하지 url

은 당신의 문제를 해결하는 데 도움이되기를 바랍니다.

+0

답변 해 주셔서 감사합니다.하지만 여전히 작동하지 않습니다. 내가 세 번째 urlpattern을 추가하려고하면 내 html을 찾을 수 없습니다. URL은 로그인과 동일하며 올바르게 작동합니다. 아마도 내 설정에 문제가있을 수 있습니까? 'DIRS': [os.path.join (BASE_DIR, 'templates')], –

+0

일반 템플릿 폴더를 사용해야하고 조언 : 경로 ('reset/done', auth_views.password_reset_done, { 'template_name': ' password_reset_done.html '}, name ='password_reset_done '), 이제 작동합니다! 고맙습니다! –

+0

프로젝트에 응용 프로그램을 만든 경우 응용 프로그램 Project \ app \ templates에 템플릿 디렉토리를 추가해야 할 수도 있습니다. 하지만 루트에서이 URL을 사용하면 구문 'DIRS': [os.path.join (BASE_DIR, 'templates')]이 정확하고 문제가 다른 곳에서 계속 유지 될 수 있습니다. – MyMy