zoukankan      html  css  js  c++  java
  • 在 django 中使用 mako or jinja2 (精简版) Python,Django language ITeye论坛

    在 django 中使用 mako or jinja2 (精简版) - Python,Django - language - ITeye论坛

    介绍:mako模版跟据多方测试,是目前渲染最快的模版。好不好用,仁者见仁。

    下面是我从网上总结下来的精简版。jinja2 也可以用,只要小改一下。


    Python代码  收藏代码
    1. #mymako.pyfrom django.template.context import Context  
    2. from django.http import HttpResponse  
    3. from mako.template import Template  
    4. from mako.lookup import TemplateLookup  
    5. import os  
    6.   
    7. def render_to_response(t,c=None,context_instance=None):  
    8.     path = os.path.join(os.path.dirname(__file__), 'templates/')  
    9.     mylookup = TemplateLookup(directories=[path],output_encoding='utf-8',input_encoding='utf-8')  
    10.     mako_temp = mylookup.get_template(t)  
    11.     if context_instance:  
    12.         context_instance.update(c)  
    13.     else:  
    14.         context_instance = Context(c)  
    15.     data = {}  
    16.     for d in context_instance:data.update(d)  
    17.     return HttpResponse(mako_temp.render(**data))  


    把上面这个 mymako.py 放到 project下,随时就可以调用了,下面是调的例子:


    Python代码  收藏代码
    1. #views.py  
    2. from django.template import RequestContext  
    3. from mymako import render_to_response  
    4. from django import forms  
    5.   
    6. def index(request):  
    7.     if request.method == 'GET':  
    8.         form = MyForm()  
    9.     else:  
    10.         form = MyForm(request.POST)  
    11.     return render_to_response('mako_temp.html',{'form':form},RequestContext(request))  
    12.   
    13. class MyForm(forms.Form):  
    14.     name = forms.CharField(label='name',required=True)  




    mako_temp.html


    Html代码  收藏代码
    1. <html>  
    2. <head>  
    3. </head>  
    4. <body>  
    5. <form action="." method="post">  
    6. ${form}<br />  
    7. <input type="submit" value="post"/>  
    8. </form>  
    9. </body>  
    10. </html>  
  • 相关阅读:
    SQLSERVER 2008 编辑所有或者任意行
    在SQL2008和2012里面怎么让显示全部行和编辑 全部而不是200和1000
    sql server 提取汉字/数字/字母的方法
    [再寄小读者之数学篇](2014-05-12 曲线的弧长计算)
    [复变函数]第23堂课 6.2 用留数定理计算实积分 (续)
    [再寄小读者之数学篇](2014-04-23 行列式的导数)
    [再寄小读者之数学篇](2014-04-22 平方差公式在矩阵中的表达)
    康乐不风流之爱解题的pde灌水王张祖锦
    [复变函数]第22堂课 6.2 用留数定理计算实积分
    [Tex学习笔记]数学公式再次测试
  • 原文地址:https://www.cnblogs.com/lexus/p/2475156.html
Copyright © 2011-2022 走看看