Синтаксис шаблона URL Django - необработанная строка

Возможно, это прозвучит как вопрос новичка, но мне просто интересно, в чем разница между

path('index/', views...

И...

path(r'^index/$', views...

)

Я только что написал свое первое веб-приложение и использую первый пример, но я вижу, что все используют синтаксис необработанной строки в примерах, которые я просматриваю. Есть ли какие-нибудь различия между тем, как django обрабатывает эти два примера?

Заранее спасибо.

Метод path является методом полного соответствия, поэтому, когда ваш путь будет точно соответствовать описанному, у вас будет возможность обработать запрос с тем представлением, которое вы описали.

Знак re_path позволяет вам больше контролировать регулярные выражения. Расширим ваш пример r"^index/?$", здесь знак "?" позволяет пользователю использовать или не использовать косую черту "/" в конце URL.

Вы можете поиграть с regexp здесь: https://regex101.com

Документация Django о re_path находится здесь: https://docs.djangoproject.com/en/dev/topics/http/urls/#using-regular-expressions

Потребности бизнеса могут быть очень сложными, и, возможно, вы не сможете подобрать нужный формат URL, используя только функции path, но в 99% этот вариант будет достаточным.

Вернуться на верх