2013-03-01 23 views
3

所以我一直在尋找這個答案一段時間,我發現的大多數答案要麼是模糊的,要麼是我的編程知識。創建HTML按鈕來運行Python腳本

我所要做的是在網頁上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> 

當用戶點擊該按鈕,我希望它set_gpio.py運行一個python腳本創建一個按鈕

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,並且我知道他們是我需要採取的路線,但是每次我嘗試一些不起作用的東西時,就需要採取這種路線。任何人都可以幫助我嗎?

謝謝!

+1

下一頁請在標題中添加關鍵字「django」。我正在尋找一個框架不可知的方式來做到這一點。 – NuclearPeon 2013-04-22 21:20:21

回答

5

你必須做一些修改:

在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 
+1

謝謝你,讓它工作! – user2125116 2013-03-04 18:39:23