【发布时间】:2011-07-14 06:12:16
【问题描述】:
我正在试验 Page extensions 和 FeinCMS 1.2.1。
我想创建这个简单的页面扩展:
from django.db import models
def register(cls, admin_cls):
cls.add_to_class(models.TextField())
但我不断收到此错误:
AttributeError: 'module' object has no attribute 'TextField'
包含扩展的包名为dev.extensions,模块为categories,我已将其添加到Python路径中,扩展注册为Page.register_extensions('dev.extensions.categories')。
我想知道我做错了什么,请帮忙。
完整的堆栈跟踪如下。
c:\sandbox\projects\feindev>python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 13, in <module>
execute_manager(settings)
File "c:\sandbox\environments\feincms-1.2
.1\lib\site-packages\django\core\management\__init__.py", line 436, in execute_m
anager
setup_environ(settings_mod)
File "c:\sandbox\environments\feincms-1.2
.1\lib\site-packages\django\core\management\__init__.py", line 419, in setup_env
iron
project_module = import_module(project_name)
File "c:\sandbox\environments\feincms-1.2
.1\lib\site-packages\django\utils\importlib.py", line 35, in import_module
__import__(name)
File "c:\sandbox\projects\feindev\..\fein
dev\__init__.py", line 52, in <module>
Page.register_extensions('dev.extensions.types')
File "c:\sandbox\environments\feincms-1.2
.1\lib\site-packages\feincms\models.py", line 270, in register_extensions
cls.register_extension(fn)
File "c:\sandbox\environments\feincms-1.2
.1\lib\site-packages\feincms\module\page\models.py", line 564, in register_exten
sion
register_fn(cls, PageAdmin)
File "c:\sandbox\projects\feindev\dev\ext
ensions\types\__init__.py", line 4, in register
cls.add_to_class(models.TextField())
AttributeError: 'module' object has no attribute 'TextField'
【问题讨论】:
-
如果您在导致问题的行之前执行 print(dir(models)) 会发生什么?如果你做 print(models.__package__) ??
-
['__builtins__', '__doc__', '__file__', '__name__', '__package__']和None
标签: python django content-management-system feincms