Задать вопрос
@daho005

Как сделать бесконечное углубление ссылок в Django?

У знакомой есть сайт, на котором в админке можно создать каталог, а в нем еще каталог и в нем еще и так далее.
Я придумал такую штуку: модель, с привязкой к самой себе. Можно добавить запись, потом создать еще одну запись и привязать её к первой.
Допустим я захотел добавить запись Животные, потом запись Млекопитающие и привязать ее к первой, после этого добавить запись Семейство Кошачьих и привязать ее к Млекопитающим, и последнюю запись - Тигр, которая будет привязана к Семейству Кошачьих. И фишка в том, что таких углублений можно делать бесконечно.
Вопрос. Как мне сделать такое древо в urls.py, чтобы в адресной строке это выглядело также как и на сайте знакомой?:
http://localhost/Jivotnie/Mlekopitaushie/Semeistvo_Koshachih/Tigr/и так далее
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
Sobolev5
@Sobolev5
Python developer
Бесконечно у вас сделать точно не получится, т.к.

Максимальная длина URL в его адресной строке составляет 2048 символов


Если речь идет об иерархической структуре то вам следует обратить внимание на библиотеку mptt
https://django-mptt.readthedocs.io/en/latest/

Чтобы сделать бесконечный урл, просто опишите регулярное выражение соответствующее адресу как (.+)
url(r"^(?P<MyStrangeVariable>\d+)/$", MyStrangeCode.as_view()),

И далее полученное значение из строки адреса можно разбить при помощи split('/')

Сразу оговорюсь это не лучшее решение. Читайте про регулярные выражения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽