私は現在、単一の文字列を含むmyVariableToSendというjavascript変数を持っています。データベースから対応するデータを収集するために生のSQLクエリを作成するビューを送信する必要があります。それは私のjavascriptに戻る。ここで私が持っているものです。Javascript変数をDjango views.pyにgetJSONで渡す
Javascriptを:
function scriptFunction(myVariableToSend){
$.getJSON("http://127.0.0.1:8000/getData/", myVariableToSend, function(serverdata){
window.alert(serverdata);
});
Views.py:
def getData(request):
some_data = request.GET(myVariableToSend)
cursor = connection.cursor()
cursor.execute("SELECT Car_ID FROM cars WHERE Carname = %s ", [some_data])
row = cursor.fetchall()
return JsonResponse(row, safe = False)
Urls.py:
url(r'^admin/', include(admin.site.urls)),
url(r'^$', startpage),
url(r'^getData/$', getData),
Iドンサーバーを実行すると、http500エラーが発生するため、私のサーバーサイドスクリプト(views.py)が動作しているとは思われません。どんな助けもありがとう。ありがとうございました。
UPDATE:私は私の全体のViews.pyをコメントアウトしてのみ
def getData(request):
return JsonResponse({"hello":"World"}, safe = False)
を入れたときに、私は何の問題やAJAXリクエストが動作しない得ること
私が発見しました。しかし、元のgetDataを持っていても動作しません。私は私のviews.pyにこの行を追加する場合:
some_data = request.GET(myVariableToSend)
、私はuはビューで機能するウル変数を送信したい場合は、uはそれをキャプチャすることができ、エラーを取得し、データが
なぜ生のSQLクエリを使用していますか?あなたはDjangoの中核的な機能であるORMをまだ理解していませんか?次に、実際にチュートリアルを行う必要があります。 –
はい私はDjangoのORMについて知っていますが、私はこのようにしたいと思います。それは学習目的のためです。 – Carbon
DEBUGをTrueに設定する必要があります。そうした場合、変数myVariableToSendが定義されていないので、その関数の最初の行にNameErrorがあることがわかります。 –