モデルの特定のフィールドを更新するために、次のajax呼び出しがあります
$("#updateLink").click(function(){
var dec_text = $('#desc_text').val();
$.ajax({
type: "POST",
url:"/users/update_desc/",
data: {
'val': dec_text,
},
success: function(){
$(".display, .edit").toggle();
$("#descText").html(dec_text);
},
error: function(){
alert("Error");
},
});
return false;
});
私の見解はこれです
@csrf_exempt
def update_desc(request):
if request.is_ajax():
if request.method == 'POST':
desc_text = request.POST.get('val', False)
if desc_text:
profile = user.profile
profile.desc = desc_text
profile.save()
return_message = "Sent mail"
return HttpResponse(return_message,mimetype='application/javascript')
常にエラーメッセージが表示されますが、これを解決する方法がわかりません。csrf_exempt
問題の原因が欠落している場合でも、デコレータを使用して回避策を講じましたcsrf token
が、それでも問題は解決しません。
ajax post
私のbase
テンプレートですべてのajax呼び出しが失敗しているものを除いて。誰かがここで何が起こっているのかを理解するのを手伝ってくれませんか。必要に応じて、もう少し詳しく説明します。
編集:
このhttps://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajaxjs
を含むファイルをベーステンプレートに追加したので、すべてのテンプレートに存在することを意味します。そして、私はdjango1.3バージョンを使用しています。