5

我写了一个简短的 python 脚本,它接受一个文本并用它做一些事情。例如,它有一个函数可以计算文本中的单词并返回数字。

如何在 django 中运行此脚本?我想从视图中获取该文本(文本字段或其他内容)并将结果返回给视图。

我只想使用 django 给脚本一个 web 界面。它只适合我,也许是少数人,而不是大量观众。没有部署。

编辑:当我第一次认为解决方案是“Django”时,我明确要求它。由于我对 WSGI 的无知,这当然是一个错误。不幸的是,没有人告诉我这个错误。

4

3 回答 3

7

首先,你真的决定成为 Django 吗?如果不是,我建议 Django 虽然是一个很棒的框架,但对您的需求来说有点多。你真的不需要全栈。

你可能想看看Flask,它是一个 Python 微框架(而且非常易于使用)

但是,既然你问到 Django...

您可以创建一个调用您的脚本的自定义 Django 命令(此处为文档),可以从该问题中所述的视图调用该命令。

这还有一个额外的好处,就是允许您也可以通过 Django management.py 脚本运行您的脚本。这意味着您可以使与该项目相关的任何未来脚本保持良好和统一。

要获取脚本运行的结果,您可以从调用命令的同一段代码中获取它们(最后一个链接中描述的部分),或者您可以将大型结果集写入文件并处理该文件。您选择哪个实际上取决于您的结果集的大小以及您之后是否想对它做任何其他事情。

于 2013-04-22T12:25:58.960 回答
2

自从我询问了 Django 以来,这里没有人告诉我:

我真正需要的是一个名为WSGI的简单解决方案。为了使您的 python 脚本可以从 webbrowser 访问,您不需要 Django,也不需要 Flask。像WerkzeugCherryPy这样的解决方案要容易得多。

于 2014-01-24T13:12:04.960 回答
1

按照上面评论中的建议,按照 django 教程进行操作后,您需要创建一个包含文本字段和提交按钮的视图。提交表单后,您的视图可以运行您编写的脚本(从另一个文件导入或复制并粘贴;如果它很复杂,导入可能更可取,但您的听起来只有几行),然后返回你计算过。如果你想变得非常花哨,你可以用一些 javascript 和一个 ajax 请求来完成,但如果你刚刚开始,你应该先用一个简单的表单来做。

于 2013-04-11T22:31:35.457 回答