Я новичок в Django и учусь, изменяя некоторый существующий код.Исходный код в файле views.py содержал метод, который возвращал объект HTTP Response (давайте назовем это resp
) в браузер одним нажатием кнопки.
Я хочу иметь возможность
- открывать новую страницу по нажатию этой кнопки (что я делаю, используя функцию render ())
кака также
передать ему
resp
(это потому, что стороннему API, который я использую, нужен этот
HttpResponse
объект для работы).
Могу ли я в любом случае сделать это?Я думал о том, чтобы передать resp
как часть параметра context
в функции render()
, но я не понимаю, как собрать значение из этого словаря context
и затем вернуть его в браузер.
РЕДАКТИРОВАТЬ: Это код в файле views.py:
def call(request):
"""Returns TwiML instructions to Twilio's POST requests"""
response = Dial(caller_id=settings.TWILIO_NUMBER)
# If the browser sent a phoneNumber param, we know this request
# is a support agent trying to call a customer's phone
if 'phoneNumber' in request.POST:
response.number(request.POST['phoneNumber'])
else:
# Otherwise we assume this request is a customer trying
# to contact support from the home page
response.client('support_agent')
response = str(response)
probe = response.find(">")
response = response[:probe+1] + "<Response>" + response[probe+1:] + "</Response>"
print('response:', response)
context = {'response': HttpResponse(response)}
return render(request, 'browser_calls/call_in_progress.html', context) # originally HttpResponse(response) was being returned here because that was required for the call to be placed