Django1.11로 가입 양식을 만들고 싶습니다.
Django : URL에 pk없이 DetailView로 리디렉션
새 사용자 후 urls.py
app_name = 'accounts'
urlpatterns = [
url(r'^create/$', views.SignUpView.as_view(), name='create'),
url(r'^check/$', views.CheckView.as_view(), name='check'),
url(r'^update/$', views.CorrectView.as_view(), name='update'),
# ...
]
views.py
class SignUpView(CreateView):
model = User
form_class = UserForm
template_name = "accounts/create.html"
def get_success_url(self):
check_view = CheckView.as_view()
return redirect(check_view, pk=self.object.pk)
class CheckView(DetailView):
model = User
template_name = "accounts/check.html"
class CorrectView(UpdateView):
model = User
form_class = UserForm
template_name = "accounts/create.html"
def get_success_url(self):
check_view = CheckView.as_view()
return redirect(check_view, pk=self.object.pk)
이 SignUpView (generic.CreateView)에서 자신의 정보를 입력, 그는 볼 것 그는 단지 CheckView (generic.DetailView)에 입력을했으며, 실수를 저 지르면 정보를 다시 입력합니다. n CorrectView (generic.UpdateView)에 있습니다.
나는 예를 들어 URL을 r'^check/(?P<pk>[0-9]+)$'
으로 만들고 싶지 않습니다. 사용자가 예를 들어 브라우저에서 .../check/1
이라는 URL을 입력하면 불행히도 그는 다른 사람의 정보를 볼 수 있기 때문입니다.
위 코드를 실행하면 Reverse for 'accounts.views.CheckView' not found. 'accounts.views.CheckView' is not a valid view function or pattern name.
오류가 발생합니다. 제발 어떻게 체크 포인트 (generic.DetailView)에 리디렉션하는 방법을 알려주지 않고 pk를 포함하십시오.
여기에서 인증을 사용하고 있습니까? 그렇다면 인증 된 사용자의 정보 만 표시 할 수 있습니까? –