2017-02-20 40 views
1

我对python和Django非常陌生,我试图找出在Django中执行某些操作的正确方法。我有一个Django应用程序的一半完成,但我不知道如何运行之间的子进程。在Django上的页面加载之间运行服务器上的子进程

我有一个python脚本,它需要3个变量并将它们插入到在OpenSSL上运行单个命令的子进程中。这是这个python脚本的简化版本:

issuer = "path/to/file" 
serial = "hex number goes here" 
URL = "http URL here" 

arequest = subprocess.check_output "openssl", "ocsp", "-nonce", "-noverify", "-issuer", issuer, "-serial", serial, "-url", URL]) 

print(arequest) 

这个脚本,我有工作。是我的目标做的是在Django的页面加载之间subprocess.check_output运行,使得:

  1. 1接受现场输入的变量和用户点击提交 。
  2. 将可变字段数据输入到subprocess.check_output命令中,并在服务器上运行该命令以提供arequest
  3. Page 2在文本框中显示arequest的结果。

我也不希望存储在数据库内的任何东西,除了这个问题范围以外的信息。我知道为了做到这一点,我需要使用GET或POST来获取信息,但我不确定这个工作的最佳方法背后的'理论'。有人能帮助我朝正确的方向推进吗?

+0

您不能在“页面之间”拥有它,但脚本可以接受POST请求中的数据并将结果显示在响应中。你究竟在哪里卡住? –

+0

这是我困惑的地方。 1)我在我的views.py中有2个函数。我有“索引”,它定义了“index.html”页面(提交按钮所在的位置)的代码和变量,而且我有“结果”,它定义了“results.html”页面的代码和变量。我在哪里插入代码来引用python脚本? 2)如何引用python脚本? 3)如何将数据从POST传递到python脚本,然后再返回? 我想我只是困惑这个代码需要发生的地方,以便它在服务器上运行命令并返回我想要的数据。 – Eddi

回答

0

索引页上的按钮应将表单发布到结果视图。然后该视图运行脚本并将结果传递给results.html模板。

+0

我只是做了一些搞乱,这里是我在哪里:我有三个领域的索引页,我已经创建了基于这些领域的结果变量。根据POST数据,我有每个变量都显示在'