Ich möchte hier eine Option von mir hinzufügen. Jemand würde sich fragen, wie man einen Pfad in urls.py einstellt, wie z
domain/search/?q=CA
damit wir die Abfrage aufrufen können.
Tatsache ist, dass es NICHT notwendig ist, eine solche Route in urls.py festzulegen. Was Sie einstellen müssen, ist nur die Route in urls.py
urlpatterns = [
path('domain/search/', views.CityListView.as_view()),
]
und wenn Sie http: // Servername: port / domain / search /? q = CA eingeben . Der Abfrageteil '? Q = CA' wird automatisch in der Hash-Tabelle reserviert, auf die Sie jedoch verweisen können
request.GET.get('q', None).
Hier ist ein Beispiel (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
Darüber hinaus, wenn Sie eine Abfragezeichenfolge in der URL schreiben
http://servername:port/domain/search/?q=CA
Brechen Sie die Abfragezeichenfolge nicht in Anführungszeichen, z
http://servername:port/domain/search/?q="CA"