在编码了6-9个月之后。在阅读了一些代码或阅读了一些最佳实践之后,我可能多次更改了我的编码风格。但有一件事我还没有找到一个十字架,那就是为什么要填充模板。
到目前为止,我通过许多方法传递模板dict(更改/修改它),并返回is。结果是,每个方法都将模板dict作为第一个参数,并返回它,在我看来,这似乎不是最好的解决方案。
一个想法是有一个方法来处理所有的更改。但我是古玩如果有最好的做法?或者它是“做你想做的事”——一种类型的事情?
我认为最难看的两件事是作为一个论点发送,并以所有方法返回它。在代码中只写了变量名XXX次:)
弗雷德里克
编辑
:
为了证明我对模板dict的意思(我认为这是一个通用术语,我是从Django的模板方法的Google实现中得到的)。
我有一个dict,我通过render.template方法传递给模板:
template.render(path, template_dict) #from google.appengine.ext.webapp import template
为了将数据/听写/列表发送到视图(HTML文件),我需要操纵此模板。如果我没弄错的话。
因此,考虑到这一点,我的代码最终通常会如下所示:
## Main.py file to handle the request and imports classes.
from models import data
from util import foo
class MainHandler(webapp.RequestHandler):
template_dict = { 'lang' : 'en' }
## reads all current keys and returns dict w/ new keys, if needed
template_dict = data.getData(template_dict)
if 'unsorted_list' in template_dict:
template_dict = util.foo(template_dict)
## and so on....
path = os.path.join(os.path.dirname(__file__), 'templates', file)
self.response.out.write(template.render(path, template_dict))
在我的大多数应用程序中,许多返回和集合并不出现在main.py中,而是出现在其他类和方法中。
但你应该做个大概的想法。