Предположим, есть модель:
class Person(models.Model):
first_name = models.CharField(...)
last_name = models.CharField(...)
Регистрирую ее в админке:
@admin.register(Person):
class PersonAdmin(admin.ModelAdmin):
pass
Теперь я хочу добавить кастомную детализированную вьюху наподобие вьюхи удаления, изменения. Для это дорабатываю PersonAdmin:
@admin.register(Person):
class PersonAdmin(admin.ModelAdmin):
def get_urls(self):
urls = super().get_urls()
info = self.model._meta.app_label, self.model._meta.model_name
url = path('<path:object_id>/custom/', self.custom_view, name='%s_%s_custom % info)
urls.append(url)
return urls
def custom_view(self, request, object_id, form_url='', extra_context=None):
pass
Добавленный урл появляется в списке урлов, однако, когда перехожу по этому урлу, то пишет, что урл /123/custom/ не найден.
Как сделать правильно?