Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Neyghyw
0 / 0 / 0
Регистрация: 04.01.2019
Сообщений: 22

Как написать регулярное выражение для красивого url через тире?

15.07.2020, 11:34. Показов 1011. Ответов 3

Студворк — интернет-сервис помощи студентам
В запрос передаётся несколько значений параметра brand. В результате отправки запроса получается такой нечитабельный url(один и тот же параметр перечисляется заново через &):

127.0.0.1:8000/catalog/?q=&price=&brand=Zalman&brand=GAMDIAS&br and=DEXP

Как написать регулярное выражение, чтобы красивый url получался вида(множественные значения параметра через -):

127.0.0.1:8000/catalog/?q=&price=&brand=Zalman-GAMDIAS-DEXP

urls.py:

Python
1
2
3
4
5
6
7
from django.conf.urls import url
from django.urls import path, re_path
from catalog.views import *
 
urlpatterns = [
    re_path(r'catalog/(?P<q>)(?P<price>)(?P<brand>)', catalog),
]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2020, 11:34
Ответы с готовыми решениями:

Как из полного url убрать домен через регулярное выражение
Добрый день. Подскажите, пожалуйста, как при помощи регулярного выражения из url...

Как поставить тире в регулярное выражение?
Ребят не подскажите, не как не могу понять как сделать. Есть такая запись в log файлах которую мне надо не просто распарсить...

Регулярное выражение для url
Нужно написать регулярные выражения для строки - Добавлено через 5 часов 29 минут Решено ((^https)|(^http)):\/\/.*\/\?$

3
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.07.2020, 13:28
Neyghyw, почему квери параметры в паттернах вообще?

Добавлено через 1 минуту
https://tools.ietf.org/html/rfc3986#section-2.3
https://github.com/aio-libs/yarl/issues/210
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
15.07.2020, 13:39
Если хочется человеко-читабельный url, генерьте типа такого:

/catalog/Zalman-GAMDIAS-DEXP/?q=&price=

Только если у вас фильтры реализованы через get html форму - то это невозможно.
0
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
15.07.2020, 19:56
Цитата Сообщение от Neyghyw Посмотреть сообщение
127.0.0.1:8000/catalog/?q=&price=&brand=Zalman&brand=GAMDIAS&br and=DEXP
Мое скромное мнение ниже.

Для каталога это нормальный урл. Я не помню, что там прилетит в данном конкретном случае, когда несколько раз один и тот же параметр задается. Но это возможно, нормально, и когда прилетит, его можно легко разгрести. То-ли они там прилетят одной строкой через запятую, то-ли еще что - ну, просто лень эксперимент ставить. Но это применяется.

Регулярка не нужна. Параметры гет-запроса просто поймать и все. Ничего красивого, читаемого и еще любые эпитеты тут - не нужно это все. Каталог есть каталог. Он функционален и не более. А красивости остаются для блога.

Поэтому:

Python
1
path('catalog/', catalog, name='catalog'),
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.07.2020, 19:56
Помогаю со студенческими работами здесь

Написать регулярное выражение, определяющее является ли данная строчка валидным URL адресом
Помоги, решить задачу. Написать регулярное выражение, определяющее является ли данная строчка ва-лидным URL адресом. В данной задаче...

Регулярное выражение для url в динамике
добрый день, я получаю в адресной строке, например, ...

Регулярное выражение для url (image)
Нужно получить url с изображениями со статей на http://habr.com/ru Попробовал так, но что-то не прокатывает IMAGE_PATTERN =...

Регулярное выражение для определенного url
помогите, пожалуйста, составить регулярно выражение для url такого вида *GotDotNet.ru* я составил вот такой - ...

Регулярное выражение для пути из url с плэйсхолдерами
Здравствуйте! Есть следующая проблема. Предположим есть путь /abcd89/{id}/path_198/{one}/ Помогите, пожалуйста, написать регулярку, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru