我正在尝试在 django 上创建以下模板标签:
from django import template
from django.utils import translation
from player.remote import MongoDb
register = template.Library()
@register.assignment_tag
def load_item(itemId):
mongo = MongoDb.instance()
return mongo['lol-%s' % translation.get_language()]['items'].find_one({'id': int(itemId)})
但是每当我尝试加载它时,它总是失败并出现以下错误:
'items' is not a valid tag library: ImportError raised loading tags.templatetags.items: No module named remote
一些注意事项:
- 我可以使用 manage.py shell 导入 MongoDb
- 我的项目路径在Python Path上
- “播放器”当前位于“INSTALLED_APPS”区域下的设置中。
- 我已经尝试过:'player.remote'、'remote'、'app.player.remote'、'teemo.app.player.remote'、'teemo.player.remote'
- 我正在使用内置服务器,因为我仍在开发它
- 我在 Ubuntu 上使用 django 1.8 和 python 2.7.6
结构(缺少很多文件,但总体来说):
teemo
manage.py
player
__init__.py
remote.py
templates
player
resume.html <-- Importing 'items' tags
tags
templatetags
__init__.py
items.py
我在这里错过了什么?
您需要将 'teemo.tags'
添加到 INSTALLED_APPS
以便 django 找到您的 templatetags
。
编辑
您似乎还缺少:teemo/tags/__init__.py
文件。
我是一名优秀的程序员,十分优秀!