Django:重定向到URL中没有pk的DetailView

2024-10-01 17:33:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在 我想用Django1.11制作注册表格。

网址.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'),
    # ...
]

视图.py

^{pr2}$

在 新用户在SignUpView中输入信息后(通用.CreateView),他将在CheckView中看到他刚刚输入的内容(通用.DetailView),如果他注意到自己犯了一些错误,他就会重新把他的信息更正(generic.UpdateView查看).

例如,我不想使用url r'^check/(?P<pk>[0-9]+)$'。这是因为如果一个用户在浏览器中输入一个URL .../check/1,不幸的是他可以看到另一个人的信息。在

在 当我运行上面的代码时,出现错误Reverse for 'accounts.views.CheckView' not found. 'accounts.views.CheckView' is not a valid view function or pattern name. 。请告诉我如何重定向到CheckView(通用.DetailView)没有url include pk。在


Tags: 用户namepyview信息urlcheckas
1条回答
网友
1楼 · 发布于 2024-10-01 17:33:06

您可以将url的结构更改为不使用slug,例如:

# Url dell'app accounts.
url(r'^accounts/register/$', RegistrationView.as_view(form_class=CustomUserForm), name='registration-register'),
url(r'^accounts/profile/$', UserProfileView.as_view(), name='user-profile'),
url(
    r'^accounts/profile/(?P<company>[-\w]+)/modifica/$',
    UpdateCompanyView.as_view(),
    name='update-company-view-profile'
),
url(
    r'^accounts/change-password/$',
    password_change, {'post_change_redirect': 'user-profile'}, name='password_change'
),
url(r'^accounts/update/$', UserProfileUpdateView.as_view(), name='user-profile-update'),
url(r'^accounts/', include('registration.backends.hmac.urls')),

这是我在我的项目中使用的URL的结构。。 然后我就可以操纵用户,或者只需使用请求.用户! 在

相关问题 更多 >

    热门问题