Python 使用可选参数创建一个端点,并在POST请求时检索它们

Python 使用可选参数创建一个端点,并在POST请求时检索它们,python,django,http-post,Python,Django,Http Post,我知道以前有一些关于堆栈溢出的帖子,但没有任何内容符合我的要求 # urls.py url(r'^ror-sb/$', views.Ror_SBView.as_view(), name='ror-sb'), 这意味着我可以通过访问以下内容来请求我的端点: 我的问题是:我想创建一个POST端点,在这里我可以通过URL传递参数。在我的情况下,其中一些是可选的 当POST请求传入时,是否有方法从URL获取所有参数 理想情况下,通过请求: 我可以得到: 测试->正确 toto->5

我知道以前有一些关于堆栈溢出的帖子,但没有任何内容符合我的要求

    # urls.py
    url(r'^ror-sb/$', views.Ror_SBView.as_view(), name='ror-sb'),
这意味着我可以通过访问以下内容来请求我的端点:

我的问题是:我想创建一个POST端点,在这里我可以通过URL传递参数。在我的情况下,其中一些是可选的

当POST请求传入时,是否有方法从URL获取所有参数

理想情况下,通过请求: 我可以得到:

  • 测试->正确
  • toto->5
  • 日期->20191125
我正在使用django 2.6和python 3.6

目前我的观点相当空洞:

@method_decorator(csrf_exempt, name='dispatch')
class RorSBViewModel(TemplateView):

def post(self, request, *args, **kwargs):
    print(request.POST)

    return render(request, self.template_name)
通过请求:,我的
请求.POST
为空

$.post('/jquery/submitData',   // url
       { todo:2,test:5 }, // data to be submit
       function(data, status, jqXHR) {// success callback
                console.log(data);
        })

您可以在jquery hit中发送post请求,

您正在执行post请求,因此不需要获取查询参数,只需发送post数据是。。。很抱歉因此,我可以创建我唯一的端点:“^ror sb/$”,但如何在post请求中发送参数?通过json主体?如何从django视图中检索它们我对Django非常陌生(正如你所看到的那样)。如果你在google上搜索
POST request
或类似的资源,那么在Django中它们将在
request中。POST
,目前,你的数据在
request中。GET
你可以在POST request中从
query string
body
获取数据。获取您的数据:
request.POST.get(“我的字段”,无)
请参阅我使用Postman进行的测试,一旦部署,我将使用curl调用此端点。目前,我的解决方案是通过JSON主体发送请求,并反序列化并使用它。端点为:
http://127.0.0.1:8000/ror-sb/
和我的
请求的结果。body
是我的json负载