有没有一种方法将pychecker / pylint应用于Tornado模板中的python代码?

时间:2011-08-05 23:44:05

标签: python tornado pylint pychecker

我使用Tornado 2.0(Python 2.6.5)构建一个简单的Web应用程序。

当然,我的Tornado模板包含Python代码片段。对于我的非模板代码,我使用pychecker和pylint来检查错误等。

然而,显然pychecker和pylint不能直接在模板上运行,b / c模板不是python文件(对于非Tornado用户:它们是类似html的片段,带有一些控制序列和嵌入式python码)。

所以,我的问题是:有人能建议将pychecker / pylint应用到这些模板文件中的python代码的好方法吗?大概这会涉及从文件中提取代码。

我可能会对如何做到这一点做出一些猜测,但我很好奇其他人是否认为这是一个问题以及他们追求的是什么解决方案。我仍然是网络应用程序设计/构建的新手,所以我对以实践经验为指导的答案感兴趣。

1 个答案:

答案 0 :(得分:0)

您需要使用视图类模式,以避免使用无法分析的Python代码使您的模板混乱。

  • 创建一个Python类来处理您的视图,而不是函数

  • 将所有“模板逻辑”代码作为类方法。您的模板将其称为{{view.get_full_name}}和def get_full_name(self):return self.item.first_name +“”+ self.item.last_name

  • 让您的课程中的实例

  • 调用()作为处理的起点

  • 将“self”作为上下文var

  • 传递给您的模板

Django的一些说明,但通常所有Python框架(Pyramid,Zope)遵循相同的模式:

Class views in Django

“$ yourframeworkname view class”应该会在Google中提供更多教程。