ページの記事のリストがテーブルにあり、ボタンをクリックしてajaxでソートしたい。
私はdajaxiceを使用しています。リクエストをajax.pyからexample1メソッドに送信し、 my_js_callbackでresponce JSONデータを取得します
HTML:
<script>
function my_js_callback(data) {
alert(data)
$("#article_view_tbody").html("")
for (i=0;i<data.length;i++)
article=data[i]
$("#article_view_tbody").append("<tr><td>" + data[i].title...) // here i need to set url for article edit
}
</script>
<button type="button" onclick="Dajaxice.content.example1(my_js_callback);">Click Me!</button>
<table>
<tbody id="article_view_tbody">
{% for article in articles %}
<tr>
<a class="article_link" href="{% url article_detail article.id %}">
{{ article.title }}
</a>
</td>
</tr> ...
ajax.py:
from django.utils import simplejson
from django.core import serializers
from dajaxice.decorators import dajaxice_register
from models import Article
def get_by_date_queryset():
return Article.objects.all().order_by('created_on')
@dajaxice_register
def example1(request):
""" Handling sorting requests """
queryset = get_by_date_queryset()
json_serializer = serializers.get_serializer("json")()
return json_serializer.serialize(queryset, ensure_ascii=False)
JS で {% url %} タグを渡すことができません。SOは、jsデータを追加せずにajaxでtbodyをリロードする方法ですか?