Django 2 和 Angular 2 url 参数集成问题

Django2 and Angular2 url integration problem with parameters

我有一个带参数的 url。

Angular 尝试调用它,但 django 在 url 和 angular 之后等待并在参数前添加一个问号。

如何整合两者?

Django url:

path("data/a=<str:a>&b=<str:b>&c=<str:c>/", views.DataView.as_view({'get': 'get'}))

Angular:

let options = Object.assign({}, this.options);
let params = new URLSearchParams();

params.set('a', vehicle);
params.set('b', from); 
params.set('c', until);

options['search'] = params; 

let url = "https://miweb.com/data/";

return this._http.get(url,options).map
    (res =>res.json());

谢谢

由于您在 angular 中使用 GET 参数,您应该从路径中删除 GET 参数,以及 as_view 调用(除非您出于其他原因确实需要它):

path("data/", views.DataView)

然后在您的视图中,使用请求对象访问 GET 参数(如果存在):

def DataView(request):
    # check for GET parameters
    param_vehicle = request.GET.get('a')

    param_from = request.GET.get('b')

    param_until = request.GET.get('c')

    if None in (param_vehicle, param_from, param_until):
        # Handle missing inputs as necessary

    # Validate parameters here

    # rest of view goes here