Как получить данные из url в django без параметров запроса
Прошу прощения за мой вопрос для новичков, так как я только начинаю изучать Django. Я буду благодарен, если кто-нибудь подскажет мне, как я могу динамически изменять данные на странице в Django. Позвольте мне прояснить следующее:
Что я хочу:
Когда url имеет вид http://localhost/data/1111
, данные страницы должны иметь вид data is 1111
.
Когда url имеет вид http://localhost/data/2222
, данные страницы должны иметь вид data is 2222
.
Что я сделал:
def index(request):
print(int(request.GET["data"])) # for debugging only
return HttpResponse("data of Page")
и url был:
path('<int:data>', views.index, name='index')
Поскольку у вас есть значение в вашем url, часть <int:data>
, которое должно быть захвачено представлением, что означает, что ваша функция представления должна знать о дополнительном параметре.
Итак, правильным представлением для этого было бы:
def index(request, data):
print(data) # data is already converted to int, since thats what you used in your url
return HttpResponse(f"data is {data}")
Поскольку вы не хотите передавать параметры запроса в вашем url, измените ваш url на следующий
path('data/', views.index, name='index')
def index(request):
print(int(request.GET["data"])) # for debugging only
return HttpResponse("data of Page")
Обратите внимание, что в GET['data']
, data
это не то, что указано в шаблоне url, а скорее это должно быть имя ввода на форме, как <input name='amount' type='number' />
Теперь вы можете получить доступ к сумме следующим образом
def index(request):
print(int(request.GET["amount"])) # for debugging only
return HttpResponse("data of Page")