Django. Регулярное выражение возвращает не корректный вид запроса
Изучаю Django по книге Эрика Мэтиза "Изучаем Python" При указании URLs используется регулярное выражение
path('^topics/(?P<topic_id>\d+)/$', views.topic, name='topic'),
И в строке браузера должно отражаться
http://localhost:8000/topics/1
А имеем по факту
http://localhost:8000/%5Etopics/(%3FP1%5Cd+)
В чем проблема? Сам код работает нормально,страницы и данные отражаются правильно.
Ответы (1 шт):
Автор решения: Alpensin
→ Ссылка
path не для регулярных выражений. Попробуй заменить на
path('topics/<int:topic_id>/', views.topic, name='topic'),
А для регулярок
re_path(r'^topics/(?P<topic_id>\d+)/$', views.topic, name='topic'),
Видимо разные версии с автором используете. Раньше (до 2.0) пути прописывались только через регулярные выражения.
Хотя там была функция url, а не path.