Страницы

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

воскресенье, 12 января 2020 г.

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

#python #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')

    


Ответы

Ответ 1



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

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

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