我想在我的网站上做一个搜索框。我希望特定搜索框输入的输出由特定文件生成,该文件映射在服务器上以获取给定输出。
例如:-fib 10
将运行 fib.py 并给出响应将是 fib.py 的结果
我想在我的网站上做一个搜索框。我希望特定搜索框输入的输出由特定文件生成,该文件映射在服务器上以获取给定输出。
例如:-fib 10
将运行 fib.py 并给出响应将是 fib.py 的结果
你为什么想这么做?只需导入您的文件/模块并使用它,这是正确的方法。
假设您有以下代码fib.py
:
def calculate(.....):
#code. ...
return result
现在在您的其他文件中,可以说它views.py
只是这样做:
import fib
# this is the search view
def search(request):
if request.method == "POST":
# other code
fib.calculate(param) # where param is the value of the search field
我不确定我是否理解正确.. 但是没有理由使用subprocess
和执行文件并获取返回的值...
您可以使用subprocess
模块来运行命令并获取输出。
更新 1
示例视图:
import subprocess
def runCmd(request):
cmd = request.POST.get('cmd')
param = request.POST.get('param')
codeDir = '/path/to/py/file/'
absoluteCodePath = codeDir + cmd + '.py'
result = subprocess.check_output([absoluteCodePath, param])
return result