DjangoとAJAXの使用について説明している投稿やページがたくさんあります。私はこの1日ほどで何百も読んだことがあり、この質問に対する答えを探しています。簡単な概要:
例の5月は、次のようなハードコードされたURLを示しています。
$.post("/projects/create/", {"name" : name}, function(data) {...
または、URLテンプレートタグを使用するものもありますが、パラメータはありません。
$.post("{% url create_project %}", {"name" : name}, function(data) {...
ただし、URLにDjangoスタイルのパラメーターを含めたいと思います。これが私のURL定義です:
url(r'ajax/entity_name/(?P<pk>\w+)/$',EntityAjaxView.as_view(),name='entity_name'),
はい、クラスベースのビューを使用しています。これはDetailViewに基づいています。このビューは、デフォルトで、URLで提供されるpk値を探します。通常のテンプレートでは、次を使用します。
{% url entity_name id_number %}
リンクを提供します。私のコードでは、pk値の入力ボックスに入力された値を取得したいと思います。これが私のJavaScriptのスニペットです(これは機能しません):
var id_number = $('#id_endowmententity_set-' + rownum + '-id_number').val()
$.ajax({
type: "GET",
url: '{% url entity_name id_number %}',
だから、私の質問は、入力ボックスからの値でURLテンプレートタグを使用できますか?
(GETの代わりにPOSTを使用して、POSTデータでid_numberを渡すことができることは知っていますが、それはDetailViewではうまく機能しません。)
よろしくお願いします。