python django在服务器中运行bash脚本

视觉V

我想创建一个网站应用程序以运行位于服务器中的bash脚本。基本上,我希望此网站用于:

  • 上传一个文件
  • 选择一些参数
  • 使用输入文件和参数运行bash脚本
  • 下载结果

我知道您可以使用php,javascript ...来做到这一点,但是我从来没有用这些语言进行过编程。但是我可以用python编程。我出于类似目的在python中使用了pyQT库。

可以用Django完成吗?还是我应该开始学习php和javascript?我在Django中找不到有关此特定任务的任何教程。

罗尔德·奈夫斯

这可以使用Django框架在Python中完成。

首先创建一个包含aFileField和其他参数字段的表单

from django import forms

class UploadFileForm(forms.Form):
    my_parameter = forms.CharField(max_length=50)
    file = forms.FileField()

UploadFileForm在您的视图中包括并调用您的函数来处理上传的文件:

from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import UploadFileForm

# Imaginary function to handle an uploaded file.
from somewhere import handle_uploaded_file

def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            my_parameter = form.cleaned_data['my_parameter']
            # Handle the uploaded file
            results = handle_uploaded_file(request.FILES['file'], title)
            # Clear the form and parse the results
            form = UploadFileForm()
            return render(request, 'upload.html', {'form': form, 'results': results})
    else:
        form = UploadFileForm()
    return render(request, 'upload.html', {'form': form})

创建函数来处理上传的文件并调用您的bash脚本:

import subprocess
import os

def handle_uploaded_file(f, my_parameter):
    file_path = os.path.join('/path/to/destination/', f.name)
    # Save the file 
    with open(file_path, 'wb+') as destination:
        for chunk in f.chunks():
             destination.write(chunk)
    # Call your bash script with the
    output = subprocess.check_output(['./my_script.sh',str(file_path),str(my_parameter)], shell=True)
    return output

请查看https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/,以获取有关如何在Django中上传句柄文件的更多示例和说明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Tornado Web服务器中运行Python脚本

来自分类Dev

在Tornado Web服务器中运行Python脚本

来自分类Dev

Cherrypy服务器运行python脚本

来自分类Dev

Cherrypy服务器运行python脚本

来自分类Dev

如何使用Python在FTP服务器中运行Python脚本?

来自分类Dev

如何在简单的CGI python服务器中运行Shell脚本?

来自分类Dev

在远程服务器上运行本地python脚本

来自分类Dev

在服务器上运行Python抓取脚本

来自分类Dev

与服务器上运行的python脚本保持通讯

来自分类Dev

如何在服务器上运行python脚本?

来自分类Dev

如何在Web服务器上运行python脚本?

来自分类Dev

使用PHP从Apache服务器运行Python脚本

来自分类Dev

由Django服务器执行的Ajax调用的Python脚本

来自分类Dev

在Django服务器中运行复杂的计算(使用python / pandas)

来自分类Dev

Apache服务器中的Python Cgi脚本

来自分类Dev

执行python脚本的python服务器

来自分类Dev

执行python脚本的python服务器

来自分类Dev

如何在Python的线程中运行zeroRpc服务器?

来自分类Dev

同时在python中运行多个服务器(线程)

来自分类Dev

在Azure服务器中自动运行Python的代码片段

来自分类Dev

如何在Python的线程中运行zeroRpc服务器?

来自分类Dev

如何从 Flask Web 服务器中运行 Python 程序?

来自分类Dev

从Django服务器中存在的另一个python脚本引用当前打开的XMPP连接

来自分类Dev

从python脚本启动Rails服务器

来自分类Dev

探测SMTP服务器的Python脚本

来自分类Dev

ping linux服务器的Python脚本

来自分类Dev

安排python脚本在网络服务器上运行

来自分类Dev

在Apache服务器上运行具有Sudo特权的Python CGI脚本

来自分类Dev

在网络服务器之外运行python脚本

Related 相关文章

热门标签

归档