Я хотел бы добавить некоторые варианты себя, здесь. Кто-то хотел бы знать, как установить путь в urls.py, например,
domain/search/?q=CA
чтобы мы могли вызвать запрос.
Дело в том, что НЕ нужно устанавливать такой маршрут в urls.py. То, что вам нужно установить, это просто маршрут в urls.py
urlpatterns = [
path('domain/search/', views.CityListView.as_view()),
]
и когда вы вводите HTTP: // имя_сервера: порт / домен / поиск / д = CA . Часть запроса '? Q = CA' будет автоматически зарезервирована в хеш-таблице, на которую вы можете ссылаться
request.GET.get('q', None).
Вот пример (views.py)
class CityListView(generics.ListAPIView):
serializer_class = CityNameSerializer
def get_queryset(self):
if self.request.method == 'GET':
queryset = City.objects.all()
state_name = self.request.GET.get('q', None)
if state_name is not None:
queryset = queryset.filter(state__name=state_name)
return queryset
Кроме того, когда вы пишете строку запроса в URL
http://servername:port/domain/search/?q=CA
Не заключайте строку запроса в кавычки, например
http://servername:port/domain/search/?q="CA"