Django разбирает url по-разному

У меня есть url, который содержит точку с запятой: /?a=3;4.

Я хочу, чтобы request.GET['a'] выводил 3;4, сейчас это 3.

Возможно ли это?

Спасибо.

Python3.8, Django 3.1

Да, в django 3.1 и python 3.8 символ ; разрывает строку запроса.

У вас есть два способа решить эту проблему:

  1. Замените его на %3B, например, /?a=3%3B4
  2. Разберите строку запроса вручную

Пример разбора qs вручную:

from urllib.parse import parse_qs

query_string = request.META['QUERY_STRING']
params = parse_qs(query_string, keep_blank_values=True)
a_value = params.get('a', [''])[0]
Вернуться на верх