DJANGO POST GET在i18n翻译后无法工作



我有多个来自模板的POST请求,例如:

$.ajax({
url: '/apply_payment',
type: 'POST',
data: {
basket: JSON.stringify(basket),
key: $('#key_input').val(),
csrfmiddlewaretoken: CSRF_TOKEN
},
dataType: 'json',
success: function (data) {
$("#key_input").val("");
},
...

我在视图.py中读取了basket数据,如下所示:

basket = request.POST.get('basket', '')

在urls.py中,我有以下形式的url:

path('apply_payment', entrance_api.apply_payment, name='apply_payment'),

最近,我在URL中添加了i18n_patterns,并翻译了所有页面,但AJAX调用停止了工作。我想这是因为URL在所选语言之间动态变化,但我可能错了。

例如,showsbasket变量现在在视图中始终为None。我该怎么解决这个问题?

根据我的经验,我必须为POST请求URL:准备一个语言代码

$.ajax({
url: '/en/apply_payment', // prepend a language code or even better: use window.location.href
type: 'POST',
data: {
basket: JSON.stringify(basket),
key: $('#key_input').val(),
csrfmiddlewaretoken: CSRF_TOKEN
},
dataType: 'json',
success: function (data) {
$("#key_input").val("");
},

最新更新