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
我有一个带参数的 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