Как сделать POST-запрос из функции django для остальных API? - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть файл xyz.py.В этом файле у меня есть функция

@api_view(['POST']) 
def abc(request):

, которая может быть доступна по URL, скажем, /gorithms / abc .

У меня есть другая функция

def pkr():

Я хочу сделать запрос POST для этой функции на abc(request).Я пробовал requests.request('POST', "/algorithms/abc", data=data_input), но request.data в abc(request) принимается как QueryDict (& not dict) и теряет некоторые тексты, которые существовали в data_input внутри pkr() функции.

1 Ответ

0 голосов
/ 06 февраля 2019

Просто чтобы уточнить, что @Daniel_Roseman и @Hugo_Luis_Villalobos_Canto говорят в комментарии.

Мы можем абстрагировать (реорганизовать) логику для обработки данных в некоторой отдельной функции, а затем повторно использовать одну и ту же функцию в обоихместа, передавая ему данные.

Примерно так:

def process_data(data):
    # process your data here
    print(data)


@api_view(['POST']) 
def abc(request):
    data = request.POST
    process_data(data)


def pkr():
    process_data(data)
...