Skip to content

Commit df6ca0d

Browse files
committed
test
1 parent c8cc14f commit df6ca0d

File tree

3 files changed

+37
-23
lines changed

3 files changed

+37
-23
lines changed

apps/users/urls.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,18 @@
1212
path('mypage/', views.my_page, name='my_page'),
1313

1414
# 비밀번호 재설정
15-
path(
16-
'password/reset/',
17-
views.CustomPasswordResetView.as_view(), # ✅ 여기 확인!
18-
name='account_reset_password'
19-
),
20-
path('password/reset/done/', auth_views.PasswordResetDoneView.as_view(
21-
template_name='account/password_reset_done.html'
22-
), name='password_reset_done'),
15+
path("password/reset/", views.CustomPasswordResetView.as_view(),
16+
name="account_reset_password"),
2317

24-
path('password/reset/confirm/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(),
25-
template_name="admin/password_reset_confirm.html",
26-
name='password_reset_confirm',
27-
),
18+
path("password/reset/done/",
19+
views.AdminPasswordResetDoneView.as_view(),
20+
name="password_reset_done"),
2821

29-
path('password/reset/complete/', auth_views.PasswordResetCompleteView.as_view(
30-
template_name='admin/password_reset_complete.html'
31-
), name='password_reset_complete'),
22+
path("password/reset/confirm/<uidb64>/<token>/",
23+
views.AdminPasswordResetConfirmView.as_view(),
24+
name="password_reset_confirm"),
25+
26+
path("password/reset/complete/",
27+
views.AdminPasswordResetCompleteView.as_view(),
28+
name="password_reset_complete"),
3229
]

apps/users/views.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
from django.shortcuts import render, redirect
1+
from django.shortcuts import render, redirect, get_object_or_404
22
from django.contrib.auth.decorators import login_required
33
from django.core.paginator import Paginator
44
from apps.places.models import PlaceLike, Place
55
from django.db.models import Count, Prefetch
66
from django.db.models import prefetch_related_objects
77
from apps.routes.models import Route, RoutePlace
88
from apps.reviews.models import Review
9+
from django.contrib.auth import views as auth_views
10+
# users/views.py 맨 위 import 보강
11+
from django.http import JsonResponse
912

1013
from django.contrib.auth.views import PasswordResetView
1114
from django.contrib import messages
@@ -124,13 +127,28 @@ def my_reviews(request):
124127
})
125128

126129
class CustomPasswordResetView(PasswordResetView):
130+
# 전송 폼 템플릿 (이미 account 폴더를 쓰고 있다면 유지)
131+
template_name = "account/password_reset.html"
127132
form_class = CustomPasswordResetForm
128-
template_name = 'account/password_reset.html'
133+
134+
# 전송 성공 후 이동할 곳 → 우리가 만든 done 뷰 (users 네임스페이스)
129135
success_url = reverse_lazy("users:password_reset_done")
136+
130137
def form_valid(self, form):
131-
messages.success(self.request, "비밀번호 재설정 메일을 보냈어요. 메일함을 확인해 주세요.")
138+
messages.success(self.request, "비밀번호 재설정 메일을 보냈어요. 메일함(스팸함 포함)을 확인해 주세요.")
132139
return super().form_valid(form)
133140

141+
class AdminPasswordResetConfirmView(auth_views.PasswordResetConfirmView):
142+
template_name = "admin/password_reset_confirm.html"
143+
144+
145+
class AdminPasswordResetDoneView(auth_views.PasswordResetDoneView):
146+
template_name = "account/password_reset_done.html"
147+
148+
149+
class AdminPasswordResetCompleteView(auth_views.PasswordResetCompleteView):
150+
template_name = "admin/password_reset_complete.html"
151+
134152

135153
@login_required
136154
def delete_review_ajax(request, place_id, review_id):

config/urls.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from django.contrib.auth import views as auth_views
2020
from django.conf import settings
2121
from django.conf.urls.static import static
22+
from apps.users.views import AdminPasswordResetConfirmView
2223

2324

2425
urlpatterns = [
@@ -30,11 +31,9 @@
3031
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
3132
path("routes/", include(("apps.routes.urls", "routes"), namespace="routes")),
3233
path(
33-
"password/reset/confirm/<uidb64>/<token>/",
34-
auth_views.PasswordResetConfirmView.as_view(
35-
template_name="users/password_reset_confirm.html"
36-
),
37-
name="password_reset_confirm", # ← 전역 이름을 만들어줌
34+
'password/reset/confirm/<uidb64>/<token>/',
35+
AdminPasswordResetConfirmView.as_view(), # ← admin 템플릿 사용
36+
name='password_reset_confirm',
3837
),
3938
]
4039

0 commit comments

Comments
 (0)