The Django Book的一个view函数改用django模板实现

view函数

#views.py

def display_meta(request):
    values = request.META.items()
    values.sort()
    html = []
    for k, v in values:
        html.append('<tr><td>%s</td><td>%s</td></tr>' % (k, v))
    return HttpResponse('<table>%s</table>' % '\n'.join(html))

(效果一样:

def display_meta(request):
     values = request.META.items()
     values.sort()
     html = '\n'.join(["<tr><td>%s</td><td>%s</td></tr>" % (k,v) for k,v in values])
     return HttpResponse('<table>%s</table>' % html)


下面的cgi脚本效果类似:

#!/usr/bin/python

import os

print "Content-type: text/html\r\n\r\n";
print "<font size=+1>Environment</font><\br>";
#for param in os.environ.keys():
#       print "<b>%20s</b>: %s<br>" % (param, os.environ[param])
#for param,value in os.environ.items():
 #       print "<b>%20s</b>: %s<br>" % (param, value)
#print ''.join(["<b>%30s</b>: %s<br>" % (k,v) for k,v in os.environ.items()])
html = ''.join(["<tr><td>%s</td><td>%s</td></tr>" % (k,v) for k,v in os.environ.items()])
print '<table>%s</table>' % html

――――――――――――――――――分割线――――――――――――――


改写为views.py和django模板:

#views.py

from django.views.generic import View

class MyView(View):
    def get(self,request):
        values = request.META.items()
        values.sort()
        return render_to_response('list3.html',locals())


#模板list3.html

<table>
{% for k,v in values%}
<tr><td>{{ k }}</td><td>{{ v }}</td></tr>
{% endfor %}
</table>


#urls.py

(r'^about2/$',MyView.as_view()),


结果:

wKiom1Qf1N2SR_xeAAFw3haiXCs528.jpg

你可能感兴趣的:(shell,模板实现)