Найти - Пользователи
Полная версия: Скрыть get запрос в адресной строке
Начало » Django » Скрыть get запрос в адресной строке
1
Sunshine
Извиняюсь если такая тема уже существует, просто тем очень много.. но так и не нашел. Я по get запросу в view.py выдаю некоторые данные, вот код:
 def testable(request, t_id=1):
    q_id = request.GET.get('q_id')
    question = Question.objects.get(test_id=t_id, number=q_id)
    answers = Answer.objects.filter(answer_question_id=question.question_desc.pk)
    return render_to_response('test.html', {'question': question, 'answers': answers})
И соответственно в ссылке, по мимо самого адреса отображается и запрос.
Как его скрыть? Или может есть другой способ сделать то, что я хочу.

Я django совсем недавно начал заниматься… прошу с понимаем отнестись, если вопрос совсем глупый
JOHN_16
переделывайте на POST запрос как пример
Sunshine
Как понять на POST запрос? У меня сейчас просто на кнопке ссылка с запросом в конце
 ?q_id=1
Sunshine
Как я понял, то POST запросы делаются только с форм, а у меня формы никакой нету, мне надо чтобы на кнопку посылался запрос и при этом его бы не было видно в адресной строке
Sunshine
Может можно отправить запрос, обработать его, а затем как-то скрыть его в адресной строке?
JOHN_16
мда…

а зачем вам скрывать это?
Sunshine
Решил с помощью POST запросов. Скрывать за тем, чтобы пользователь сам не мог ввести
JOHN_16
ммм ну как решение “от дурака” ок, сработает. Серьезную защиту вы не получите - все что отсылается легко можно посмотреть средствами разработчика в браузере.
Elaphe
Как я понимаю, речь идет о том, чтобы нельзя было посмотреть страницы с “чужими” id.
В таких случаях айдишник в строке ссылки шифруется, как описано здесь: Cryptographic signing
То есть в шаблон страницы, где у вас кнопка, вы передаете не айдишник, а зашифрованную строку.
И во вьюхе страницы, на которую переходит пользователь, расшифровываете ее и получаете id
Но правильнее, конечно, такие вещи решать через систему пермишенов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB