我想使用django模板系统来输出类似于csv的数据;输出django模板中的转义字符
!connection%block
!dosomething
!dosomethingelse
My,Header,Row,Which,Is,Comma,Seperated
All,My,Comma,Seperated,Data
All,My,Comma,Seperated,Data
All,My,Comma,Seperated,Data
All,My,Comma,Seperated,Data
!Footerblock
!that has footer information
实际的模板看起来像:
!connection%[email protected]
id,account,product,quantity,price,date
{% for r in records %}
{{ r.id }},{{ r.account }},{{ r.product }},{{ r.quantity }},{{ r.price }}
{% endfor %}
!endtransactions
的documentation为CSV的建议或者使用csv模块或模板。我的特殊需求更适合模板,因为某些模型字段需要使用我创建的标签库进行一些操作。
我的看法很简单
result['transactions'] = Transasctions.objects.all()
rendered = render_to_string('trans.csv', result)
response = HttpResponse(rendered , mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=trans.csv'
return response
然而渲染模板没有实际输出DOS CRLF换行符所以整个文件是一个长行的方式!必须有输出\ r \ n字符的方法...
你目前的'trans.csv'模板是什么样的? – codekoala 2010-09-24 15:37:14
我已经编辑了上面的内容来显示我的模板 - 不管我做什么我只是无法获得新的行:/ – m0nonoke 2010-09-27 08:18:36