创建HTML按钮来运行Python脚本(Create HTML button to run Pyth

2019-07-20 19:28发布

所以我一直在寻找这个答案一段时间,我发现大多数答案都是要么含糊其辞,或者我与编程知识之上。

我所试图做的是在网页上quad_relay.html创建一个按钮

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o$
<html xmlns="http://www.w3.org/1999/xhtml">
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
 <body>
   <h1>Quad Web Relay</h1>
   <div>Relay 1:
     <input type="button" value="Toggle" id="toggle1" />
   </div>
 </body>
</head>
</html>

当用户点击该按钮,我希望它运行一个python脚本set_gpio.py

def set_pins_high():
        fp = open("/sys/class/gpio/gpio"+pin+"/value","w")
        fp.write(str(1))
        fp.close()
def set_pins_low():
        fp1 = open("/sys/class/gpio/gpio"+pin+"/value","w")
        fp1.write(str(0))
        fp1.close()

for pin in pins:
        for x in range (0,2):
                set_pins_high()
                time.sleep(0.5)
                set_pins_low()
                time.sleep(0.5)

该网页位于运行Django的一个lighttpd的服务器上。 我有jQuery和AJAX安装,我知道他们是我需要为了做到这一点但是每次我尝试的东西它不工作的路线。 会有人能帮助我吗?

谢谢!

Answer 1:

你必须做一些修改:

在您的HTML文件:

<div>Relay 1:
  <form action= '{% url my_view_name%}' method="POST">
      <input type="submit" value="Toggle" id="toggle1" />
  </form>
</div>

在urls.py

url(r'whatever^$', 'core.views.my_view',name='my_view_name'),

在views.py:

def my_view(request):
    if request.method == 'POST':
        import set_gpio
        #Do your stuff ,calling whatever you want from set_gpio.py

    return #Something, normally a HTTPResponse, using django


文章来源: Create HTML button to run Python Script