Наследование в web.py?

В настоящее время я разрабатываю приложение wep.py. Это мое веб-приложение, связанное с web.py и wsgi.

корень / main.py

import web import sys import imp import os sys.path.append(os.path.dirname(__file__)) #from module import module from exam import exam urls = ( '/exam', 'exam' ) application = web.application(urls, globals(), autoreload = True).wsgifunc() 

Мое приложение имеет абстрактный класс, называемый module в module.py в корневом каталоге, и его назначение наследуется модулями.

корень / module.py

 class module: def fetchURL(self, url): # ... return content 

Модуль нижнего уровня, называемый «экзамен», наследует модуль

root / exam / init .py

 from module import module class exam(module): def getResults(self): # error occurs here self.fetchURL('math.json') 

Когда я вызываю родительский метод, web.py вызывает исключение

WalkerError: («неожиданный тип узла», 339)

Окружающая среда: Python 2.5

Как я могу решить проблему? благодаря

// EDIT 03 июля 10:22 GMT + 0

Трассировка стека выглядит следующим образом

  mod_wsgi (pid=1028): Exception occurred processing WSGI script 'D:/py/labs_library/index.py'. Traceback (most recent call last): File "D:\csvn\Python25\lib\site-packages\web\application.py", line 277, in wsgi result = self.handle_with_processors() File "D:\csvn\Python25\lib\site-packages\web\application.py", line 247, in handle_with_processors return process(self.processors) File "D:\csvn\Python25\lib\site-packages\web\application.py", line 244, in process raise self.internalerror() File "D:\csvn\Python25\lib\site-packages\web\application.py", line 467, in internalerror return debugerror.debugerror() File "D:\csvn\Python25\lib\site-packages\web\debugerror.py", line 305, in debugerror return web._InternalError(djangoerror()) File "D:\csvn\Python25\lib\site-packages\web\debugerror.py", line 290, in djangoerror djangoerror_r = Template(djangoerror_t, filename=__file__, filter=websafe) File "D:\csvn\Python25\lib\site-packages\web\template.py", line 845, in __init__ code = self.compile_template(text, filename) File "D:\csvn\Python25\lib\site-packages\web\template.py", line 924, in compile_template ast = compiler.parse(code) File "D:\csvn\Python25\lib\compiler\transformer.py", line 51, in parse return Transformer().parsesuite(buf) File "D:\csvn\Python25\lib\compiler\transformer.py", line 128, in parsesuite return self.transform(parser.suite(text)) File "D:\csvn\Python25\lib\compiler\transformer.py", line 124, in transform return self.compile_node(tree) File "D:\csvn\Python25\lib\compiler\transformer.py", line 167, in compile_node raise WalkerError, ('unexpected node type', n) WalkerError: ('unexpected node type', 339) 

Если это возможно, я хотел бы отключить функциональность шаблона, поскольку я использую python только для вывода JSON для мобильного приложения.

One Solution collect form web for “Наследование в web.py?”

если вы создадите модуль python, вы должны добавить __init__.py в верхней части своей иерархии:

 dvedit/ __init__.py clipview.py filters/ __init__.py 

это означает, что в каждом каталоге, который будет импортироваться from ... import ... должен иметь файл __init__.py .

Дополнительная информация доступна: http://wiki.cython.org/PackageHierarchy

  • Python 2.5 Windows Binaries?
  • Могу ли я использовать Python 3 super () в Python 2.5.6?
  • Можно ли установить IDLE для запуска Python 2.5 по умолчанию?
  • У Python есть тернарный условный оператор?
  • Доступ к errno из Python?
  • Как установить модуль ssl Python в Windows?
  • Как выбрать: Macports выбрать python
  • Как правильно использовать isinstance () для python, чтобы проверить, является ли переменная числом?
  • Чтение данных из csv-файла и преобразование в правильный тип данных
  • Ошибка импорта файла .pyd (как модуля python) из файла .pyo
  • Python: избегать новой строки с командой печати
  • Python - лучший язык программирования в мире.