javascriptからdjangoテンプレートに$postリクエストを使用しようとしていますが、機能していないため、何かが足りません。
私のコードをお見せします:
これはテンプレートです:
//TEMPLATE
//This code will send a string to django "views.py" file,
//then it will show a pop up message from the data retreived from "views.py"
function test_post(){
$.post("/xhr_test",
{name: "Monty", food: "Spam", csrftoken : "{{ csrf_token }}" },
function(data) {
alert(data)
;});
};
これはviews.pyです:
// VIEWS.PY
//Depending on the type of request it will send a message or another.
def xhr_test(request):
if request.is_ajax():
if request.method == 'GET':
message = "This is an XHR GET request"
elif request.method == 'POST':
message = "This is an XHR POST request"
# Here we can access the POST data
print request.POST
else:
message = "No XHR"
return HttpResponse(message)
このコードは、「これはXHRPOSTリクエストです」というメッセージを表示しません。ただし、$ getリクエストを使用すると、「これはXHRGETリクエストです」というメッセージが表示されます。
同様の疑問がこのスレッドでの答えでした。そこで提供された回答を使用していますが、コードは機能しません。
答えは「{{csrf_token}}」に関連しているに違いないと思いますが、どうすればよいかわかりません...
どんな種類の助けもいただければ幸いです。