Seletach
@Seletach
Начинающий бекендер

Как сделать так чтобы CBV-функция DetailView в Django принимала объект по slug?

Существует такая CBV функция:
class ProfileDetalView(DetailView):
    model = User
    template_name = 'blog/profile.html'

Как сделать так, чтобы она принимала запрос по slug?
Запрос выглядит так: http://127.0.0.1:8000/profile/<slug:username>/
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
Seletach
@Seletach Автор вопроса
Начинающий бекендер
Я понял что нужно написать,
slug_url_kwarg = 'username' - так как в запросе slug "кастомный", и его нужно явно указать
slug_field='username' - так как в БД поле slug тоже называется username
Спасибо за наводку, datka
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
datka
@datka
slug_field

slug_field¶
The name of the field on the model that contains the slug. By default, slug_field is 'slug'.

slug_url_kwarg¶
The name of the URLConf keyword argument that contains the slug. By default, slug_url_kwarg is 'slug'.


urlpatterns = [
    path("<slug:slug>/", ArticleDetailView.as_view(), name="article-detail"),
]


Точнее можете глянуть тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы