Django - Принятие полного предложения в параметрах запроса - PullRequest
0 голосов
/ 28 февраля 2019

Я собираю небольшой API, который просто преобразует сообщение, поступающее в Mockcase Спанч Боба.

У меня все работает, но возвращаясь, я понимаю, что я тестировал с однимзначение и, следовательно, только что заметил, что следующая запись URL не сможет принимать пробелы /% 20.

url(r'^mock/(?P<message>\w+)/$',mock, name='mock'),

Я просмотрел все, но не уверен, как правильно сформулировать то, что я ищунайди что нибудь полезное.Что бы я искал, чтобы принять полное предложение.

Стоит отметить, что это будет исходить из сообщения чата, поэтому оно будет отправлено как есть, а не в процентах.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

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

r'^mock/(?P<message>[^/]+)/?$

См. Демонстрационную версию regex

Здесь [^/]+ соответствует любому одному или нескольким символам, кроме / и /? соответствует необязательному / в конце строки ($).

0 голосов
/ 28 февраля 2019

Вы действительно не хотите помещать такие вещи в качестве параметров URL.Вместо этого он должен быть в строке запроса: например, mysite.com/mock/?message=Message+goes+here.

URL должен быть просто:

url('^mock/$', ...)

, и представление затем просто получает данные из request.GET['message'].

...