Получение параметров в запросе get в django rest framework?

Я хочу получить параметры, отправленные в мой rest api

что я хочу получить параметры, чтобы использовать их для потребления другого api и вернуть ответ стороннего api но в name и comic я получаю None

http://127.0.0.1:8000/searchComics/ {name: "3-D Man", "comics "12:}

это мое мнение

class MarvelApi(APIView):
def get(self, request):
    private_key = "88958f2d87bd2c0c2fa07b7ea654bcdf9f0389b3"
    public_key = "8d415ffcc9add56b0a47c0a7c851afc3"
    ts = 1
    md5_hash = "46ecbbd63108b0561b8778a57823bd34"
    query_params = self.request.query_params
    name = query_params.get('kword', None)
    comic = query_params.get('comic', None)
    end_point = f"https://gateway.marvel.com:443/v1/public/characters?ts={ts}&apikey={public_key}&hash={md5_hash}&name={name}&comic={comic}"
    response = requests.get(end_point)
    response_json = json.loads(response.text)
    return Response(status=status.HTTP_200_OK, data=response_json)

Я думаю, что проблема заключается в этих двух строках имя = query_params.get('kword', None) comic = query_params.get('comic', None) которые не захватывают значения правильно, знаете ли вы, как это решить?

Вы хотели получить их из метода GET, но вместо этого вы дали словарь, поэтому я предполагаю, что вы отправили его через POST. Вместо словаря вы должны использовать url:

http://127.0.0.1:8000/searchComics/?name=3-D+Man&comic=12

А у вас, вероятно, опечатка. У вас в словаре было множественное число "комиксов", а вы ищете единственное число "комиксов".

И если вы хотите иметь данные с методом POST, просто измените def get(...) на def post(...).

Вернуться на верх