如何在 Django 测试中发布列表

我有一个 AJAX 发布到项目列表的视图。我正在尝试为此添加一个测试。


如何在 Django 测试中发布列表?我通过这个命令检索数据:


listVar = request.POST.getlist('list[]')

我知道这会正确接收一个列表,因为我与 Jquery 交互并且它返回正确的列表,但是我该怎么做是 python?我一直在尝试这样的代码,但是打印“listVar”总是会产生一个空列表:


form = {"list": ["element 1", "element 2"]}

response = self.client.post('/viewurl/', form, follow=True)

编辑--- @Tomek 建议删除“[]”,但这会导致 python 发布请求工作,但我的 ajax 上传返回一个空列表。


这是我的ajax代码片段:


$.ajax({

        url: window.location.pathname,

        method: 'POST',

        data: {

            list: a_list_I_create_elsewhere

        },

...


慕标5832272
浏览 64回答 1
1回答

慕尼黑5688855

[]只需在参数中删除即可getlist。def request_handler(request):    listVar = request.POST.getlist('list')    print(listVar)应该管用编辑不要破坏与 jQuery 的兼容性。我想我会根据 jQuery 格式进行测试form = {"list[]": ["element 1", "element 2"]}response = self.client.post('/viewurl/', form, follow=True)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python