Страницы

Поиск по вопросам

суббота, 9 марта 2019 г.

Ошибка при получении запроса GET в Django

Есть данная функция на python, которая обрабатывает запрос из html формы, получает оттуда значение q, при вводе "1" в строку поиска выдает значение "Ты пытаешься найти: u'1'" Откуда появляется символ u'' и как его исправить понятия не имею, подскажите пожалуйста как пофиксить.
def search (request): if 'q' in request.GET: message = "Ты пытаешься найти: %r" % request.GET.get('q') else: message = "Пустая форма" return HttpResponse(message)
def search_form (request): return render_to_response('search_form.html')


Ответ

%r — это результат вызова функции repr(), которая для юникодовых строк представляет именно такую запись с префиксом u. Вам следует воспользоваться %s — это даст результат вызова str()
Ну и в новом коде следует всё-таки переходить на использование функции format()
"Ты пытаешься найти: {0}".format(request.GET.get('q'))

Комментариев нет:

Отправить комментарий