Хотите добавить '?id= ' в urls.py
В моем проекте есть urls.py.
Я хочу создать URL типа localhost:8000/v1/user?id=1
.
Может ли кто-нибудь помочь мне, как я могу создать вышеуказанный URL.
Спасибо
Часть сразу после знака вопроса (?
) - это строка запроса [wiki]. urls.py
делают не проверяют строку запроса, их интересует только путь (часть слева от вопросительного знака).
Таким образом, urls.py
использует:
urlpatterns = [path('/v1/user', some_view)]
in the view you then can access the last value that associates with the id
key with request.GET['id']
. Here request.GET
is a QueryDict
[Django-doc]: it is a dictionary-like object but a key can be associated with multiple values. You thus will need to check if the id
appears in the QueryDict
, perhaps validate that it occurs only once, and check if it is numerical (or some other format).
Хотя можно работать и со строкой запроса. Обычно в Django принято считать, что если требуется параметр, то вы каким-то образом кодируете его в пути, а не в строке запроса. Строка запроса обычно используется для опциональных данных, например, для фильтрации списка.