2017-11-09 9 views
0

私は反応(またはvue)をdjangoテンプレートと組み合わせたいと思っていますが、私はバックエンドを安らかなAPIに変更したくありません。だから私はjsxまたはvueで使用されているdomからデータを取得できるように、Djangoモデルのクエリーセットをjsonまたはjsonの文字列に変換する方法はありますか?コア機能とDjangoクエリセットをシリアル化するためにDjangoモデルのクエリーセットをjsonやjsonの文字列に変換する方法はありますか?

enter image description here enter image description here

+0

[Output Django queryset as JSON]の複製(https://stackoverflow.com/questions/15874233/output-django-queryset-as-json) – souldeux

答えて

2

あなたはDjango Rest Frameworkのちょうどserializationコンポーネントを使用することができます。これは、Djangoよりも柔軟性のある宣言的シリアライザを提供します。

完全に安らかなAPIを提供したい場合は、すでにコードを書いておいた方がいいでしょう。

0

が見here取る:あなたのテンプレートにJSONにアクセスするためには

from django.core.serializers import serialize 
from models import MyModel 

serialize('json', MyModel.objects.all()) 

を、REST APIリソースまたはAJAXを使用せずに、取りますcustom template tags/filtersの利点。

tags.py

from django.template import Library 

register = Library() 

@register.filter 
def json(queryset): 
    return serialize('json', queryset) 

HTMLテンプレート:

{% load tags %} 
{% users|json %} 
関連する問題