使用点符号加载Django模板标记库
使用Django 1.1构建的模板标记在模块中组织,如下面的使用点符号加载Django模板标记库,django,django-templates,Django,Django Templates,使用Django 1.1构建的模板标记在模块中组织,如下面的some_tags.py: myproject |__ __init__.py |__ manage.py |__ settings.py |__ myapp |__ __init__.py |__ admin.py |__ models.py |__ templates |__ templatetags |__ __init__.py
some_tags.py
:
myproject
|__ __init__.py
|__ manage.py
|__ settings.py
|__ myapp
|__ __init__.py
|__ admin.py
|__ models.py
|__ templates
|__ templatetags
|__ __init__.py
|__ group1
|__ group2
|__ __init__.py
|__ some_tags.py
|__ views.py
|__ templates
|__ urls.py
然后我可以使用{loadgroup1.some_tags%}
加载这些标签。在将项目移植到Django 1.2.5之后,这些模板正在生成错误(通过删除此加载线可以很好地解决这些错误)。模块本身可以很好地从shell中导入,但代码中出现错误时就不是这样了
错误是:
ImportError: No module named group1
及
加载模板标记库时是否删除了对这种虚线表示法的支持?我在发行说明中没有看到任何建议
如果不再支持这种表示法,那么除了组织模板标记库而不将它们全部放在同一文件级别之外,还有什么更好的替代方法呢?似乎支持虚线模块。安装的应用程序中是否有“myapp”?是的-其他一切都正常-项目运行良好,Django 1.1doesn t/myapp/templatetags/也需要一个
\uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy
吗?在1.3(今天发布)中,你可以执行{%loadsomeu标记从group1%}
如果只是找不到templatetag库,则由load
调用的import\u库
将捕获ImportError
,并将引发InvalidTemplateLibrary
。我认为templatetag库已经找到并被正确加载,但这是稍后才会出现的。看起来支持虚线模块。安装的应用程序中是否有“myapp”?是的-其他一切都正常-项目运行良好,Django 1.1doesn t/myapp/templatetags/也需要一个\uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy
吗?在1.3(今天发布)中,你可以执行{%loadsomeu标记从group1%}
如果只是找不到templatetag库,则由load
调用的import\u库
将捕获ImportError
,并将引发InvalidTemplateLibrary
。我认为templatetag库已经找到并被正确加载,但这是稍后才会出现的。
TemplateSyntaxError: Caught ImportError while rendering: No module named group1