ajax调用中的urls参数冲突

时间:2012-08-21 09:11:18

标签: django url

在提交表单之前,我会根据用户的输入执行多个ajax请求。问题是两个url匹配我传递的参数的数量和类型,导致调用错误的视图。我的意思是:

url(r'^main_Webrequests/(?P<d>\d+)/(?P<m>\d+)/(?P<y>\d+)/$', 'auth.views.get_dates', name='get_dates'), 

我获取输入日期和

url(r'^main_Webrequests/(?P<veh_id1>\d+)/(?P<veh_id2>\d+)/(?P<load_id>\d+)/$', 'auth.views.get_initialVehicles', name='initialVehicles'),

我得到其他输入。

使用日期(第一次调用)一切正常,但由于当ajax调用获取第二个url(第二个调用)的参数时,django会检查第一个到最后一个的URL,因此调用get_dates并且功能失败。 有没有办法解决它或者我的整个逻辑可能是错的?

1 个答案:

答案 0 :(得分:0)

您必须更改您的网址,以便它们彼此不同。现在你有两个相同的url模式,所以所有请求都进入第一个视图。或者您可以将逻辑划分为视图。例如:

...
perform auth.views.get_dates logic
...
if request.is_ajax():
   perform some auth.views.get_initialVehicles logic