Python 如何在Django视图中使用POST请求登录?
在Django项目的某个页面上,我试图添加一个特性,在加载页面时,请求被发送到外部Python脚本,该Python脚本将检索一些数据并将其作为响应发送到Django视图,该视图应使用Jquery在HTML上显示。要发送请求,我使用请求模块 我在将带有Json数据的响应发送到Django视图时遇到一些问题,下面是我尝试的: 以下是请求的发送方式: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={"
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