参见英文答案 >
Importing installed package from script raises “AttributeError: module has no attribute” or “ImportError: cannot import name” 2个
如果我从命令行启动python并输入:
import random
print "Random: " + str(random.random())
它打印出一个随机数(预期,优秀).
如果我在我的django应用程序的models.py中包含上面两行,并使用runserver启动我的django应用程序,我在命令行上输出显示一个随机数(太棒了!)
如果我采用自定义标签,否则完全正常,但我包括
import random
print "Random: " + str(random.random())
作为自定义标记的.py文件的前两行,每当我尝试打开使用该自定义标记的模板时,我都会收到错误:
TypeError at /help/
'module' object is not callable
请记住,如果我摆脱这两行,我的自定义标记的行为与预期的一样,并且不会抛出任何错误.不幸的是,我需要在模板标签内部进行一些随机行为.
问题是如果在自定义标签中我做:
import random
在自定义模板标签上,它导入
并不是
通常从其他地方进口
Django模板库有一个名为random的过滤器,不知何故,它的优先级高于系统的随机性.
任何人都可以推荐如何显式导入适当的python随机?