Специальная, подарочная акция получения доступа к Django4!
Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.
NoReverseMatch - очень частое исключение ставящее в тупик многих разработчиков. Давайте научимся с ним справлятся и понимать что и где править и для чего.
NoReverseMatch
primary_key(первичный ключ), так же называют id. Если проще любая запись в базе данных имеет id, который является целым числом. По нему можно извлечь отдельную запись и сделать другие действия.
primary_key
id
Джанго же использует primary_key.
Идут споры среди разработчиков довольно глупые, одни говорят, что primary_key быстрее чем id, другие наоборот.
Согласно исходному коду, то что бы не делал разработчик(мы это увидим здесь или далее, но точно посмотрим исходный код), все равно Джанго приравняет первичный ключ к id, по сему нет разницы, что использовать id или pk. (это уже сами выберите).
id или pk
Джанго pk устанавливает его автоматом, говорит документация Джанго:
pk
Если вы не укажете primary_key=True для любых полей в вашей модели, Django автоматически добавит IntegerField для хранения первичного ключа, поэтому вам не нужно устанавливать primary_key=True
primary_key=True
IntegerField
Наша с вами задача научится его использовать. Это начало задачи и это конец задачи. А там захотите назовёте его super_puper_id_ibon_pk.
super_puper_id_ibon_pk
Вам домашнее задание. разберитесь с регулярными выражениями.
Ранее они были принципиальны, теперь же джанго и их делает за нас, во смотрите url
path('absolute-path/detail/<int:id>/<slug:slug>/', PageDetailGetAbsoluteUrl.as_view(), name = 'detail_absolute_path' ),
Обратите внимание на <int:id>, нам достаточно указать, что мы хотим указать тип int и id, а джанго создаст регулярное выражение за вас, хотя, если вы будете делать, как в ранних версиях, при помощи регулярных выражений url, то Джанго это тоже поймёт.
<int:id>
тип int и id
url
Но освоить их нужно - они точно пригодятся, нам важно умело например, читать те же исключения, что бы понимать, что Джанго сделал для нас.
Я вас направлю.
Джанго ведь выводит регулярное выражение в исключениях.
Reverse for 'view_detail_ns' with no arguments not found. 1 pattern(s) tried: ['page/slug/(?P<pk>[0-9]+)/detail/$']
< 1 2 3 >
Просмотр всех сообщений c тегом: получение ссылок с использованием namespace