№1 Практическая онлайн-школа обучения языкам программирования Python (Django), JavaScript, Kotlin В. Бовсуновского.

Специальная, подарочная акция получения доступа к Django4!

Как, я, начал код писать в Python? Смотрите, если уперлись и ничего не получается.

17. Пропишем шаблоны и получим исключение NoReverseMatch.

NoReverseMatch - очень частое исключение ставящее в тупик многих разработчиков. Давайте научимся с ним справлятся и понимать что и где править и для чего.

NoReverseMatch.png

Перейти к уроку

18. Разберёмся с pk(primary_key). Если по русски, pk - первичный ключ.

primary_key(первичный ключ), так же называют id. Если проще любая запись в базе данных имеет id, который является целым числом. По нему можно извлечь отдельную запись и сделать другие действия.

Джанго же использует primary_key.

Идут споры среди разработчиков довольно глупые, одни говорят, что primary_key быстрее чем id, другие наоборот.

Согласно исходному коду, то что бы не делал разработчик(мы это увидим здесь или далее, но точно посмотрим исходный код), все равно Джанго приравняет первичный ключ к id, по сему нет разницы, что использовать id или pk. (это уже сами выберите).

Джанго pk устанавливает его автоматом, говорит документация Джанго:

Если вы не укажете primary_key=True для любых полей в вашей модели, Django автоматически добавит IntegerField для хранения первичного ключа, поэтому вам не нужно устанавливать primary_key=True

Наша с вами задача научится его использовать. Это начало задачи и это конец задачи. А там захотите назовёте его super_puper_id_ibon_pk.

Перейти к уроку

19. Разберитесь с регулярными выражениями.

Вам домашнее задание. разберитесь с регулярными выражениями.

Ранее они были принципиальны, теперь же джанго и их делает за нас, во смотрите url

path('absolute-path/detail/<int:id>/<slug:slug>/', PageDetailGetAbsoluteUrl.as_view(),
                                name = 'detail_absolute_path' ),

Обратите внимание на <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