Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django视图中使用POST请求登录?_Python_Django_Request_Python Requests - Fatal编程技术网

Python 如何在Django视图中使用POST请求登录?

Python 如何在Django视图中使用POST请求登录?,python,django,request,python-requests,Python,Django,Request,Python Requests,在Django项目的某个页面上,我试图添加一个特性,在加载页面时,请求被发送到外部Python脚本,该Python脚本将检索一些数据并将其作为响应发送到Django视图,该视图应使用Jquery在HTML上显示。要发送请求,我使用请求模块 我在将带有Json数据的响应发送到Django视图时遇到一些问题,下面是我尝试的: 以下是请求的发送方式: import requests req = requests.post('http://127.0.0.1:8000/myview', json={"

在Django项目的某个页面上,我试图添加一个特性,在加载页面时,请求被发送到外部Python脚本,该Python脚本将检索一些数据并将其作为响应发送到Django视图,该视图应使用Jquery在HTML上显示。要发送请求,我使用请求模块

我在将带有Json数据的响应发送到Django视图时遇到一些问题,下面是我尝试的:

以下是请求的发送方式:

import requests

req = requests.post('http://127.0.0.1:8000/myview', json={"test": "testjson"})
print('SENT')
我在视图中尝试的是: def myTestView(请求):

我试图在控制台中打印响应,只是为了调试。问题是我没有看到控制台中打印的请求。相反,我只看到:

[24/Dec/2019 12:00:40] "POST /tv/ HTTP/1.1" 302 0
[24/Dec/2019 12:00:40] "GET /account/login/?next=/tv/ HTTP/1.1" 200 23357

这意味着我必须添加我的凭据,因为视图是
@login\u必需的
。问题在于,当用户加载页面或执行特定操作时,会触发此请求,并且该请求将保存敏感数据。但是,此任务可以由站点上的任何用户执行,因此我无法在外部请求中仅添加一个用户的凭据。我怎样才能解决这个问题?欢迎您提供任何建议。

您可以使用cookie/会话来管理每个用户的状态。您使用什么来启动django服务器?似乎您正在使用gunicorn或某种wsgi工作人员。如果您使用开发服务器:
manage.py runserver
,您将在控制台中看到您的
print
语句结果。
[24/Dec/2019 12:00:40] "POST /tv/ HTTP/1.1" 302 0
[24/Dec/2019 12:00:40] "GET /account/login/?next=/tv/ HTTP/1.1" 200 23357