2012-04-09 3 views
1

Ich habe eine Abfrage, deren Objekte ich zum Füllen einer Vorlage verwenden möchte. Eine Ansicht, die wir haben Ende mitString aus Django-Vorlage, aber ohne HTTPResponse zurückzusenden

return render_to_response('entry.json', {'entry_list':r}, mimetype="application/json; charset=utf-8") 

aber ich möchte in der Lage seinen zu serialise mit einer Vorlage wie folgt JSon ohne eine Httpresponse zurückkehren zu müssen. In Pseudocode könnte dies sein:

Ist das möglich? Wenn das so ist, wie?

Antwort

0

Wenn Sie keine HTTP-Anfragen bearbeiten, macht es wenig Sinn, Django zu benutzen, ehrlich gesagt. Schauen Sie in Jinja 2 für eine einfache Vorlage-Engine, die viel gemeinsam mit Django hat, und SQLAlchemy für ein ORM, das gleich oder besser als Django ist.

+0

Ich bearbeite HttpRequests in Django, nur ich spiele jetzt auch mit Piston. – SK9

+1

@ SK9 Wenn Sie Piston verwenden und nur eine HTTP-Antwort mit einem JSON-Body zurückgeben möchten, sollten Sie wahrscheinlich in ['Emitter'] schauen (https://bitbucket.org/jespern/django-piston/wiki/ Dokumentation #! Emitter). –

+0

Dies liefert in keiner Weise eine Antwort auf die Frage. Er fragte, wie man es in Django macht, nicht ob Django die beste Wahl ist. – Shayne

4

Was @HankGay gesagt hat, ist korrekt, obwohl Sie manchmal die Template-Antwort erhalten möchten, ohne eine HttpResponse zurückzugeben, obwohl Sie Django korrekt verwenden.

dies lesen: Rendering a context:

>>> from django.template import Context, Template 
>>> t = Template("My name is {{ my_name }}.") 

>>> c = Context({"my_name": "Adrian"}) 
>>> t.render(c) 
"My name is Adrian." 

>>> c = Context({"my_name": "Dolores"}) 
>>> t.render(c) 
"My name is Dolores." 

Ist das, was Sie wollen?