Возврат данных сессии из внешнего микросервиса в Django
Я пытаюсь связать внешний скрипт python, который является своего рода функцией webscraping другого домена с данными входа пользователя, отправленными из django views. После успешного выполнения внешнего скрипта, данные результата будут возвращены обратно в django views и показаны на странице.
Пока что я могу успешно сделать все вышеперечисленное, но поскольку внешний скрипт python состоит из части входа во внешний домен и соскабливания данных. Я хочу, чтобы сессия входа из внешнего скрипта возвращалась обратно в django, тогда пользователь сможет получить доступ к данным с моей страницы без необходимости повторного входа.
Вот мой код
Это мой внешний скрипт на python, который состоит из использования библиотеки Requests
def webscrape (email, pwd, dj_req):
# use the data from django views to login the other domain and webscrape
URL = 'www.login.com'
payload = {
'name': email,
'pwd': pwd,
}
s = dj_req.session()
#Trying to utilize the user's request data
r1 = s.post(URL, data=payload)
list1 = r1.text
return list1,s
#Return the logged-in session to django views
Это мое представление django
from ... import webscrape
def inputdata(request):
if request.method == 'POST':
formdata = userform(request.POST)
if formdata.is_valid():
email=formdata.cleaned_data['email']
pwd=formdata.cleaned_data['password']
list1,logedin_session = webscrape(email,pwd,request)
#Inject the user request to the external script
request.session = logedin_session
#Try to overwrite the user's request by the session from the external script
return AnotherDjangoViews(request,list1)
else:
email=''
password=''
formdata = userform(initial={'email':email,'password':password,})
return render(request, 'xxx.html', {'form': userform})
Этот код возвращает ошибку "'SessionStore' object is not callable". Я знаю, что я нахожусь на неправильном пути, но я не могу найти никаких ресурсов о том, как взаимодействовать с сессией django и сессией запросов. Любой совет будет оценен по достоинству. Большое спасибо!
После некоторого исследования аналогичной темы в интернете, кажется невозможным или трудным достичь того, что я хочу завершить. Поскольку с точки зрения безопасности, кажется странным, что когда клиент обращается к вашему сайту, вы можете получить идентификатор сессии клиента, обращающегося к другому внешнему домену.