如何在ajax中使用django url?
Posted
技术标签:
【中文标题】如何在ajax中使用django url?【英文标题】:How to use django url in ajax? 【发布时间】:2020-01-16 00:00:06 【问题描述】:如何使用带有 id(或 pk)的 ajax 调用 django 函数。
$.ajax(
url: '% url app:order_edit %',
type:"POST",
async:false,
data: order:order, product:product, customer:customer, qty:qty, uom:uom, des:des,
success:function(data)
);
views.py
def order_edit(request, obj_id):
print("Obj Id is:",obj_id)
if request.method == 'POST':
form = OrderForm(request.POST)
if form.is_valid():
#operations
return render(request, 'order_view.html', 'form': form)
return render(request, 'order_view.html', 'form': form)
return render(request, 'order_view.html', )
urls.py
path('orderedit/<int:obj_id>/', views.order_edit, name="order_edit"),
如何调用这个函数 任何人都帮我解决这个问题。提前致谢
【问题讨论】:
【参考方案1】:您可以向 URL 模板标签添加参数,如下所示:
% url 'some-url-name' arg1=v1 arg2=v2 %
- 关键字语法
% url 'some-url-name' v1 v2 %
- 没有关键字
您将只有一个参数:
% url app:order_edit pk %
(删除空格)
您需要将 pk 替换为您希望在 URL 中具有的值。您的其余代码不可见,因此我不知道您可以从哪里获得它。
有关 Django 文档的更多信息:https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#url
【讨论】:
【参考方案2】:如果你的 JS 是内联的,你只能在 javascript 中使用 Django 模板标签。有关信息,请参阅this 答案。
如果您这样做,那么 Tomislav 的回答就足够了。否则,您还需要考虑从 HTML 中提取 URL。你可以使用 JS 选择器,或者类似 data- 属性的东西。
【讨论】:
以上是关于如何在ajax中使用django url?的主要内容,如果未能解决你的问题,请参考以下文章