ImportError:没有名为remote的模块

时间:2015-09-30 15:52:19

标签: python django

我正在尝试在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

我在这里错过了什么?

2 个答案:

答案 0 :(得分:0)

您需要将let halfWidth = 0.15; points.enter().append('path') .datum((d) => { let pointA = [(Number(d.coord[0]) - halfWidth).toString(), (Number(d.coord[1]) - halfWidth).toString()]; let pointB = [d.coord[0], (Number(d.coord[1]) + halfWidth).toString()]; let pointC = [(Number(d.coord[0]) + halfWidth).toString(), (Number(d.coord[1]) - halfWidth).toString()]; polypoints = [ [pointA, pointB, pointC, pointA] ]; return { type: 'Polygon', coordinates: polypoints, id: d.id, center: d.coord, }; }); 添加到'teemo.tags',以便django找到您的INSTALLED_APPS

修改

您似乎也缺少:templatetags档案。

答案 1 :(得分:0)

问题在于我试图覆盖items标记,覆盖了dict items方法。

在这种情况下,它正在寻找dict中的items,这不是我所期待的。