论坛首页 编程语言技术论坛

在 django 中使用 mako or jinja2 (精简版)

浏览 14534 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-04-06  
介绍:mako模版跟据多方测试,是目前渲染最快的模版。好不好用,仁者见仁。
下面是我从网上总结下来的精简版。jinja2 也可以用,只要小改一下。
#mymako.pyfrom django.template.context import Context
from django.http import HttpResponse
from mako.template import Template
from mako.lookup import TemplateLookup
import os

def render_to_response(t,c=None,context_instance=None):
    path = os.path.join(os.path.dirname(__file__), 'templates/')
    mylookup = TemplateLookup(directories=[path],output_encoding='utf-8',input_encoding='utf-8')
    mako_temp = mylookup.get_template(t)
    if context_instance:
        context_instance.update(c)
    else:
        context_instance = Context(c)
    data = {}
    for d in context_instance:data.update(d)
    return HttpResponse(mako_temp.render(**data))

把上面这个 mymako.py 放到 project下,随时就可以调用了,下面是调的例子:
#views.py
from django.template import RequestContext
from mymako import render_to_response
from django import forms

def index(request):
    if request.method == 'GET':
        form = MyForm()
    else:
        form = MyForm(request.POST)
    return render_to_response('mako_temp.html',{'form':form},RequestContext(request))

class MyForm(forms.Form):
    name = forms.CharField(label='name',required=True)


mako_temp.html
<html>
<head>
</head>
<body>
<form action="." method="post">
${form}<br />
<input type="submit" value="post"/>
</form>
</body>
</html>
   发表时间:2010-04-07  
mako很好用 ,django的模板让我抓狂
0 请登录后投票
   发表时间:2010-04-08  
范三山 写道
mako很好用 ,django的模板让我抓狂


用django的模版,有时为了一个小细节而不得不绕个大圈子。
0 请登录后投票
   发表时间:2010-04-08  
duka 写道
范三山 写道
mako很好用 ,django的模板让我抓狂


用django的模版,有时为了一个小细节而不得不绕个大圈子。

指哪地方  标签?
0 请登录后投票
   发表时间:2010-04-13  
django模板写不了代码,自定义标签感觉麻烦,可能是接触得少
0 请登录后投票
   发表时间:2010-04-13  
yko2008 写道
django模板写不了代码,自定义标签感觉麻烦,可能是接触得少

同感
0 请登录后投票
   发表时间:2010-04-13  
django看上去很美,遇到特殊定制的很让人抓狂,转到pylons和turbogear了
0 请登录后投票
   发表时间:2010-04-13  
django 除了模板以外 没什么称得上“不好”的地方
0 请登录后投票
   发表时间:2010-04-14  
范三山 写道
django 除了模板以外 没什么称得上“不好”的地方

form 也不好用
0 请登录后投票
   发表时间:2010-04-14  
Blithe 写道
范三山 写道
django 除了模板以外 没什么称得上“不好”的地方

form 也不好用


hehe, 我到是感觉 django 的 form 很好用,面面俱到。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics