Задать вопрос
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>/
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик буткемп
    4 месяца
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 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"),
]


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

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

Похожие вопросы