javascript - 将参数从 Angularjs 传递到 Django

标签 javascript django angularjs django-rest-framework restangular

我在 View 中看到一些意外的东西(调试器模式),我不确定我是否在前端或后端犯了错误:

(Pdb) request.QUERY_PARAMS
<QueryDict: {u'types': [u'Component', u'Core']}>
(Pdb) request.QUERY_PARAMS['types']
u'Core'

我期望得到[u'Component', u'Core'],而不仅仅是单个元素。

在前端,我使用 Restangular,如下所示:

var params = {
    types: ['Component', 'Core']
};
Restangular.all('search').getList(params)...

后端代码就在 DRF 查询集中:

def get_queryset(self, *args, **kwargs):
    request = self.request
    import pdb; pdb.set_trace()
    ...

我是否需要对字符串列表进行一些特殊编码,或者可能存在其他问题?

最佳答案

您需要使用 request.QUERY_PARAMS.getlist('types') 因为 request.QUERY_PARAMS AKA request.GET 是一个 django QueryDict 。请参阅此处的文档:https://docs.djangoproject.com/en/dev/ref/request-response/#querydict-objects

关于javascript - 将参数从 Angularjs 传递到 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537445/

相关文章:

django - docker文件中PYTHONUNBUFFERED的作用是什么?

javascript - AngularJS,如何使 UI 依赖于哪个字段具有焦点?

javascript - 仅在第一次尝试时成功删除弹出窗口可见性

javascript - 当输入文本被清除时,如何隐藏ajax搜索结果?

Django:如果在列表模板标签中

javascript - 断言所有复选框都被选中

css - 根据angular js中的某些条件模糊背景图像

javascript - 使用 javascript 将 HTML 页面与 SQL 服务器连接

javascript - 如何使用 jQuery 定位表中同一行上的另一个元素

javascript - 如何在 Django 模型表单中包含日期选择器?