2012-04-09 78 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." 

是你以后在做什么?

相关问题