1
私はテンプレートusersummary.htmlを持っています。 URLパラメータに依存して、特定のユーザーに関する詳細を表示します。私は、同じURLパラメータに基づいてデータを表示するAJAXデータテーブルを必要とするデータテーブルにいくつかのデータを表示したいと思います。ジャンゴ-のDataTableビューを使用してDjango ajaxデータテーブルのUrl引数?
:
views.py:
from django_datatables_view.base_datatable_view import BaseDatatableView
def usersummary(request, id):
return render(request, 'app/usersummary.html')
class testdatatableJSON(BaseDatatableView):
model = User
columns = ['item1', 'item2']
# This class uses django-datatables-view
# It returns JSON for the datatable to consume via AJAX
# I'd like to filter it to display only data relating to the user id defined in the url for template usersummary.html
urls.py
url(r'^(?P<id>\d+)/$', views.usersummary, name='usersummary'),
url(r'^testdatatable/$', testdatatableJSON.as_view(), name='testdatatable')
JS
$(document).ready(function() {
$('#table').DataTable({
"ajax": "{% url 'testdatatable' %}"
# This controls table in usersummary.html template
私は追加することを考えたいですテスト可能なJSONへのメソッドc以下のようなlassは動作しますが、まあまあです(おそらく、idパラメータはAJAX経由で消費されたときに実際には渡されないからです)。 "id = 1"のように、ハードコードされたサンプルをテストするために渡すとうまくいきます。
def get_initial_queryset(self, **kwargs):
return User.objects.filter(id=self.kwargs['id'])
ありがとうございます!
ようtestdatatableJSONクラスにfilter_querysetメソッドを追加:-) *ありがとうございました* ! – user6361549