В моем проекте Django мне нужно получить/разместить некоторые данные на стороннем url в моем представлении и перенаправить на веб-страницу, которую он предоставляет. Например, я могу просто сделать что-то вродеconvert request.models.Response to Django HttpResponse
class TestView(TemplateView):
def get(self, request, *args, **kwargs):
data = {
'order_id': 88888,
'subject': 'haha',
'rn_check': 'F',
'app_pay': 'T',
}
url = 'http://some-third-party-api-url?order_id=88888&subject=haha&...'
return HttpResponseRedirect(url)
Однако я хочу использовать этот сторонний апи в свернутом SDK, как
class TestView(TemplateView):
def get(self, request, *args, **kwargs):
from sucre.alipay_sdk.base import Alipay
from sucre.alipay_sdk import alipay_config
from django.http import HttpResponse
alipay = Alipay(alipay_config)
data = {
'order_id': 88888,
'subject': 'haha',
'rn_check': 'F',
'app_pay': 'T',
}
'''alipay api is wrapped in a sdk'''
'''and return a requests.models.Response instance'''
result = alipay.api('pay', data)
return HttpResponse(result)
и код API:
def api(self, service, data):
''' some logics here '''
import requests
response = requests.get(url, data=data)
return response
Но кажется, что HttpResponse (результат) не является правильным способом преобразования экземпляра request.models.Response в HttpResponse ... Макет плохой, и некоторые другие проблемы с кодировкой и т. Д. Есть ли правильный способ конвертировать запросы соответственно onse to Django HttpResponse?
Обновления:
HttpResponse (результат) работал, но некоторые CSS страницы были потеряны. Это может быть связано с использованием запросов.
Посмотрите на [mcve] (http://stackoverflow.com/help/mcve) пожалуйста. – Olian04
Спасибо @ Olian04 за совет. (Поскольку это был первый раз, когда я использовал stackoverflow, чтобы задать вопрос). Однако заполненный код был слишком длинным и не совсем о самом вопросе - преобразование из ответа запросов на HttpResponse .. –