2012-04-09 66 views
1

我有一個查詢集,其對象我想用來填充模板。一種觀點我有來自Django模板的字符串,但沒有返回HTTPResponse

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

結束。但是我希望能夠連載與這樣的一個模板到JSON,而不必返回一個類HTTPResponse。在僞代碼,這可能是:

render('entry.json', {'entry_list':r}) #returns a string with the template entry.json 

這可能嗎?如果是這樣,怎麼樣?

回答

0

如果你沒有處理HTTP請求,說實話使用Django沒什麼意義。查看Jinja 2是否有一個簡單的模板引擎,其中有很多共同的w/Django,並且SQLAlchemy對於與Django相同或更好的ORM。

+0

我正在處理Django中的HttpRequests,只有我現在也在玩活塞。 – SK9 2012-04-09 20:08:21

+1

@ SK9如果你使用Piston並且只想返回帶有JSON體的HTTP響應,你應該看看['Emitters'](https://bitbucket.org/jespern/django-piston/wiki/)文檔#!發射器)。 – 2012-04-11 14:27:51

+0

這絕不會爲問題提供答案。他問如何在Django中做到這一點,而不是django是否是最佳選擇。 – Shayne 2016-02-21 23:57:01

4

@HankGay說的是正確的,儘管您有時可能希望獲得模板響應而不返回HttpResponse,即使您正確使用了Django。

閱讀: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." 

是你以後在做什麼?

相關問題