编译功能是否需要在Django中进行任何特殊配置?

时间:2019-02-10 21:22:03

标签: python django compilation exec

我有一段代码写为字符串,我想在Django视图中执行。它可以在python shell解释器中工作,但不能在Django中工作。我正在使用python 3.6和Django 2.1。这是代码示例:

a = 'def solution():\n\timport random\n\treturn random.randint(1,10)'
exec(compile(a, '', 'exec'))
print(solution())

解释器中的上述代码将按预期运行,并输出1到10之间的随机数。在Django中,我收到错误消息

NameError: name 'solution' is not defined

谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

为什么不简单地执行以下操作

from random import randint
print(randint(1, 10))

此外,您在哪里执行代码? 我可以在settings.py

中运行它