Django динамический обратный url
Я использую detailview для просмотра данных пользователя как сотрудника, и я также хочу редактировать их. Как мне сделать обратный url. Сейчас он возвращает меня на мой пк сотрудников, но цель - вернуться на страницу просмотра пользователя.
Представление обновления:
class SVAVerwaltung(LoginRequiredMixin, UpdateView):
model = SchulverzeichnisTabelle
fields = ['Konto', 'S_Form',
'Schulname', 'SAB',
'GL', 'Zuege',
'Teilstandort', 'IH',
'SSt_OGS', 'OGS_Grp',
'VK', 'Z_SW',
'Z_besG', 'U_Ausf',
'U_Org', 'Schulleitung_Vorname',
'Schulleitung_Nachname',
'Lehrer_FK', 'GL_Lehrer_FK']
template_name = 'SCHUK/SVAVerwaltung.html'
context_object_name = 'SVAVerwaltung'
def get_success_url(self):
return reverse('Ansicht', kwargs={'pk': self.object.pk})
Представление деталей:
from django.shortcuts import get_object_or_404
class Dashboard (AdminStaffRequiredMixin, LoginRequiredMixin, ListView):
model = User
template_name = 'SCHUK/Dashboard.html'
context_object_name = 'Dashboard'
def ansicht(request, pk):
user = get_object_or_404(User, pk=pk)
return render(request, 'SCHUK/Ansicht.html', context={'user': user})
class Ansicht(AdminStaffRequiredMixin, LoginRequiredMixin, DetailView):
model = User
template_name = 'SCHUK/Ansicht.html'
context_object_name = 'Ansicht'
def get_success_url(self):
return reverse('Ansicht')
urls.py:
path('', Dashboard.as_view(), name="Dashboard"),
path('Ansicht/<int:pk>', Ansicht.as_view(), name='Ansicht'),
path('SVAVerwaltung/<int:pk>', SVAVerwaltung.as_view(success_url="Ansicht/<int:pk>"), name='SVAVerwaltung'),
Вы можете использовать параметр args для функции reverse().
reverse('Ansicht', args=(self.object.pk,))