Django: Using DataTables
Möchte ich kurz auf die Filterung und Sortierung Funktionalität, um meine Tabelle mit ajax. Von was ich gefunden habe, DataTables platzte die beste option. aber ich kann nicht scheinen, um es zu arbeiten! Das erste, was ich versucht war, es zu benutzen, wie Sie es eingerichtet haben mit demos. Aber ich konnte nicht Naht, um die Suchmaske zu erzeugen, und die Sortierung wird nicht funktionieren, entweder. Ich habe dann versucht, nutzen Sie eines der vielen Pakete erstellt, die zum implementieren dieser Funktionalität. Allerdings fand ich, dass die Dokumentation wurde in der Regel nicht sehr klar und schwer zu Folgen, oder selbst wenn ich es folgendermaßen, ich würde mit der linken den Tisch rendering in Ordnung, aber das suchen und Sortieren wäre immer noch nicht verfügbar. Also habe ich beschlossen zu gehen zurück zu meiner ursprünglichen und sehen, ob jemand vielleicht weiß, was ich falsch mache. Die Seite ist die Tabelle Rendern richtig, und wenn ich den Quelltext der Seite ansehen, die javascript richtig verknüpft.
Hier ist der html:
<pre>
<code>
{% extends "theme_bootstrap/base.html" %}
{% load staticfiles %}
{% block extra_style %}
<script src="{% static "js/jquery.js" %}"></script>
<script src="{% static "js/jquery.dataTables.js" %}"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#test').dataTable();
});
</script>
{% endblock %}
{% block body %}
{{ store.StoreName}}
{% if liquors.count > 0 %}
<h1>liquors</h1>
<table id="test">
<thead>
<tr>
<th>Liquor Code</th>
<th>Brand Name</th>
<th>Vendor Name</th>
</tr>
</thead>
<tbody>
{% for liquor in liquors %}
<tr>
<td>{{ liquor.LiquorCode }}</td>
<td><a href="/liquors/get/{{ a.StoreID }}/{{ liquor.id }}/">{{ liquor.BrandName }}</a></td>
<td>{{ liquor.VendorName }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p>None to show!</p>
{% endif %}
{% endblock %}
</code>
</pre>
Hier ist auch meine Ansicht. Vielleicht habe ich etwas falsch gemacht hier.
def liquors(request, store_id):
args = {}
args.update(csrf(request))
a = Store.objects.get(StoreID=store_id)
args['liquors'] = Liquor.objects.all()
args['a'] = a
return render(request, 'liquors.html', args)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe das an einem Projekt arbeitete ich eine Weile zurück. Hier ist, wie ich die Tabelle in meinem template:
Schlüssel ist diese Zeile in der Tabelle Optionen, die definiert die Quell-URL für den AJAX-request aus der Datentabelle:
Dann benötigen Sie auch einen Blick auf die Rückkehr der AJAX-Anfragen:
Wie gesagt, das war eine Weile her, und kann nicht mehr arbeiten mit den neuesten Versionen von DataTable, aber vielleicht wird es Sie in die richtige Richtung.