【发布时间】:2020-04-15 22:15:07
【问题描述】:
我使用 ListView 创建自己的组权限页面,以使用 pk 显示 Django 组列表以及指向 DetailView 的链接,然后提供更改链接以使用 UpdateView 更改权限。
我想用pk把UpdateView的success_url变成DetailView,怎么做。
我的代码如下:
views.py
class GroupCreation(PermissionRequiredMixin, CreateView):
permission_required = 'add_group'
model = Group
form_class = GroupCreateModelForm
success_url = reverse_lazy('account:group_list')
template_name = 'accounts/groups/group_creation.html'
class GroupsListView(PermissionRequiredMixin, ListView):
permission_required = 'view_group'
allow_empty = True
model = Group
ordering = 'name'
template_name = 'accounts/groups/groups_list.html'
form = GroupCreateModelForm
extra_context = {'form': form, }
class GroupDetailView(PermissionRequiredMixin, DetailView):
permission_required = 'view_group'
model = Group
template_name = 'accounts/groups/group_detail.html'
class GroupUpdateView(PermissionRequiredMixin, UpdateView):
permission_required = 'change_group'
model = Group
fields = ('permissions',)
template_name = 'accounts/groups/group_update.html'
success_url = reverse_lazy('account:group_detail')
urls.py
path('groups/', views.GroupsListView.as_view(), name='group_list'),
path('groups/<int:pk>/', views.GroupDetailView.as_view(), name='group_detail'),
path('groups/<int:pk>/change/', views.GroupUpdateView.as_view(), name='group_change'),
path('groups/create/', views.GroupCreation.as_view(), name='group_creation'),
【问题讨论】: