繁体   English   中英

Trac AttributeError:尝试获取系统中可用的组件时,“ str”对象没有属性“ db_query”错误

[英]Trac AttributeError: 'str' object has no attribute 'db_query' error when trying to get Components available in the system

我正在尝试获取当前环境中的所有组件,但是有一个我无法理解的原因导致出现以下错误:

AttributeError: 'str' object has no attribute 'db_query'

这是代码(跳过了某些部分):

  from trac.core import *
  from trac.ticket import model

  class TracIteraDirectory(Component):

  implements(INavigationContributor, ITemplateProvider, IRequestHandler)

  def process_request(self, req):
       myenv = '/home/konart/backup/Trac/TracDB/Planing'
       self.db = self.env.get_db_cnx()

       components = []
       test = model.Component(myenv)
       test1 = test.select(myenv)

       for each in test1:
           components.append((each.name, each.owner))

       #for component in model.Component(myenv).select(myenv):
           #components.append((component.name, component.owner))

我已经在trac-hacks.org和核心文件上签出了一些插件示例,但是根本无法理解我在这里做错了(或根本没有做)

我想我劳累了一点。 答案非常简单-我传递的是带有环境路径的简单字符串,而不是传递实际的Environment对象:

def process_request(self, req):

    if req.path_info.startswith('/traciteradirectory'):

        components = []
        test = model.Component(self.env)
        test1 = test.select(self.env)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM