Я использовал шаблон Django i18n в своем проекте для преобразования текста моего сайта между английским sh и немецким.
Я обработал все методы записи с помощью общего кода, написанного в файле webbase. js file ,
После реализации кода Django i18n в моем проекте мой веб-сайт начал работать странно и преобразовал весь метод POST с помощью GET.
Я уже пробовал с решениями, описанными в Интернете, как показано ниже.
sol-1: добавьте sla sh после URL.
sol-2: AJAX вызов, который я пробовал с обоими type: "POST"
ad method: "POST"
.
Но даже после обновления кода согласно решению, я все еще не могу решить мою проблему.
Мой код, как показано ниже.
веб-база. js
app.post = function(url, postData, hasMsg, callback, dataType, msgId, processData, contentType) {
try {
msgId = msgId || "appMsg"
var ajaxParam = {
dataType: dataType || "json",
type: "POST",
headers: {
"X-CSRFToken": app.getStorage("csrftoken")
},
url:url,
data: postData,
beforeSend: function() {
ajaxCalls++;
$('#loading-image').show();
},
complete: function() {
ajaxCalls--;
if(ajaxCalls == 0) {
$('#loading-image').hide();
}
},
success: function(data) {
if (hasMsg) {
if (data.code == 0) {
app.showMessage(msgId, app.MsgType.Error, data.msg, 10);
return;
}
app.showMessage(msgId, app.MsgType.Success, data.msg, 10);
}
if(callback) {
callback(data);
}
},
error: function(data) {
app.showMessage(msgId, app.MsgType.Error, "Error occurred", 10);
console.log(data);
}
}
if(typeof processData !== typeof undefined) {
ajaxParam['processData'] = processData;
}
if(typeof contentType !== typeof undefined) {
if(!contentType) {
ajaxParam['contentType'] = contentType;
}
}
$.ajax(ajaxParam);
} catch(e) {
console.log(e)
}
};
urls.py
urlpatterns += i18n_patterns(
path("", include('website.urls')),
path("website/", include('website.urls')),prefix_default_language=True)
Ниже приведен скриншот метода POST перед применением кода шаблона i18n.
Ниже приведен скриншот метода GET после применения кода шаблона i18n.
Будет очень полезно, если кто-нибудь может предложить мне правильное решение.