Django执行cmd应用程序

Linux比尔
from django.db import models
import os
from django.db.models.signals import post_save
import sys

class Form(models.Model):
    site = models.CharField(max_length=50)
    num = models.CharField(max_length=10)
    octet = models.CharField(max_length=30)

    def __unicode__(self):
        return self.site
        return self.num
        return self.octet

def create_conf(sender, **kwargs):
    os.system("/usr/local/build " + self.site + ' ' + self.num + ' ' + self.octet)

post_save.connect(create_conf, sender=Form)

试图让我的django网络应用程序执行带有参数的python命令行应用程序。不确定这是否是最好的解决方法?如果没有,那么任何建议都很好。尝试通过Web表单从用户那里获取输入并将其用作执行cmd应用程序的参数。

帮助会很棒

谢谢威廉

马克西姆·洛朗(Maxime Lorant)

如果要在每个save()对象上执行命令,这似乎是一个好方法

然而,你应该清理您的输入:如果用户设置一些特殊字符(,;&举例来说)它可以打破你的命令,它可能是危险的为您的系统(例如,&& rm -rf /*在字节可能是有趣这里:P)。你应该看看这个答案,它使用Popen在安全参数:

from subprocess import Popen  

def create_conf(sender, instance, **kwargs):
     p1 = Popen(["/usr/local/build", instance.site, instance.num, instance.octet])

根据文档,我还修复了函数声明以获取实例

另一件事:您的__unicode__函数不正确,您不能返回这样的3个值。

class Form(models.Model):
    site = models.CharField(max_length=50)
    num = models.CharField(max_length=10)
    octet = models.CharField(max_length=30)

    def __unicode__(self):
        return "%s %s %s" % (self.site, self.num, self.octet)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django执行cmd应用程序

来自分类Dev

通过C#winform应用程序执行CMD命令?

来自分类Dev

如果从cmd执行应用程序,则写入命令行

来自分类Dev

在Django中执行Java应用程序(.jar)

来自分类Dev

Sencha cmd“应用程序监视”失败

来自分类Dev

Sencha cmd“应用程序监视”失败

来自分类Dev

Django应用程序迁移

来自分类Dev

从C#应用程序执行ScriptCS

来自分类Dev

Purescript应用程序不执行

来自分类Dev

在应用程序退出之前执行功能

来自分类Dev

如果应用程序崩溃,执行代码?

来自分类Dev

特定Xamarin应用程序的执行主题

来自分类Dev

暂停执行angularjs应用程序

来自分类Dev

开发用于执行联网的应用程序?

来自分类Dev

Purescript应用程序不执行

来自分类Dev

如果应用程序崩溃,执行代码?

来自分类Dev

AutoIT执行应用程序热键

来自分类Dev

无限执行应用程序的终端命令

来自分类Dev

任务应用程序执行失败:compileDebugJavaWithJavac

来自分类Dev

QProcess:执行阻止整个应用程序

来自分类Dev

从Foxx应用程序执行Shell命令

来自分类Dev

执行外部应用程序并退出

来自分类Dev

在wai应用程序中执行IO

来自分类Dev

Python:为应用程序执行抓取

来自分类Dev

从 Qt 应用程序执行 MSI 文件

来自分类Dev

应用程序不执行简单的计算

来自分类Dev

从烧瓶应用程序执行 bash 命令

来自分类Dev

从Windows + Apache上运行的Django应用程序调用时,Popen无法执行

来自分类Dev

如何使用同一数据库在不同应用程序之间执行Django查找?