Django:有没有办法让客户端在本地渲染 Python 3 函数?

Django: Is there a way to make client render Python 3 functions locally?

提问人:PizzaPatz 提问时间:8/15/2019 最后编辑:PizzaPatz 更新时间:8/15/2019 访问量:83

问:

我有一个项目,我希望客户在他/她的机器上运行 for/while 循环。有没有办法做这样的事情,因为视图是在服务器端运行的,如下所示:

views.py

from django.shortcuts import render

def index(request):
    for i in range(0,10000):
        # Do stuff
return render(request, 'app/index.html')

Javascript 是客户端的选项之一,但我有一些来自 Python 3 的库,我想运行。

更新: 我正在 Heroku 上构建一个 Django 应用程序,它将为区块链实现工作量证明功能。工作量证明函数的概念要求客户端完成计算。我想完成的是为客户端提供一个模板,以使用 Crypto 库(从 Crypto.Hash 导入 SHA)在 Python 中运行他们的资源。这是我尝试遵循的示例存储库 blockchain-python-tutorial。该存储库在 Flask 中本地运行,并不意味着在实际服务器上运行,因为该存储库是理论上的,而不是实用的。所以我想知道是否有办法在 Heroku 上使用 Django 构建应用程序的副本。谢谢。

python django 视图 渲染 客户端

评论

0赞 Selcuk 8/15/2019
如果您尝试解释实际用例,我们可以建议解决方法。

答:

1赞 Jon Hrovat 8/15/2019 #1

Django 在模板中不支持 rangeed for 循环。除此之外,您尝试的内容会破坏 MVC 设计规则。你正在寻找的解决方案将很难实现,因为你违背了 Django 的设计方式。

如果你需要更多的 python 功能,你应该了解自定义 Django 模板标签。如果您需要帮助的特定用例,请在您的帖子中详细说明。

评论

0赞 PizzaPatz 8/16/2019
感谢您指出 MVC 规则。我已经阅读了您在帖子中链接的文档,我同意我的设计是不可能的。我还找到了一个有用的链接来解释 Django 堆栈。