2017-06-28 54 views
1

我希望我可以指出正確的方向,因爲我完全不確定如何接近我手頭的任務。我創建了一個Python程序,它能夠執行一些測試並收集與測試相關的信息。我手邊的任務是讓我得到的信息放在網頁上。Python/Javascript - 自我更新網頁

我處理目錄的方法如下

Project 
| 
+--index.html 
+--testcases 
    | 
    +--testline1 
     | 
     +--build1 
     | 
     +--date1 
      | 
      +--relevantdata.txt 
      +--index.html 
     +--date2 
     +--build2 
    +--testline2 
    +--testline3 

我每次完成一個測試用例我更新相應的測試線+通過創建日期目錄,並把相關信息,在該目錄中建立。我運行的每個測試用例都會創建它自己的html頁面,我希望用戶可以訪問它。

有沒有辦法讓我自動更新最外層的index.html以反映這些變化?我在想象HTML頁面會有一個邊欄,讓用戶選擇testline + build +日期。測試用例完成後有沒有辦法更新這個菜單?

回答

0

所以讓我正確地理解這一點:

你有script.py,做一些魔術,並創建testline N目錄+相關文件。然後您需要Project/index.html列出所有N個測試線。

是否正確?

如果是這樣,最簡單的方法就是在python字符串中編碼html,然後以編程方式將新的testline鏈接添加到該字符串中,最後將該字符串寫入index.html文件。

另一種方式做,這是一個「mylinks.js」文件,以創建一個JavaScript(jQuery的),並且具有裝載index.html

<script src="mylinks.js" type="text/javascript">

mylinks.js你我的鏈接會是這個樣子:

$window.onload(function() { 
var $input = $('<input type="button" value="TESTLINE - N" />'); 
    $input.appendTo($("body")); 
}); 

現在你需要做的就是編程(在python),寫的for循環mylinks.js

string = '' 
for [python get number of dirs matching testlineN]: 
    string += '$window.onload(function() { 
    var $input = $('<input type="button" value="TESTLINE - N" />'); 
     $input.appendTo($("body")); 
    });' 

蟒蛇寫入文件

一些什麼僞代碼十歲上下,但你應該得到它的要點,

+0

明白!擔心我需要做一些有點「janky」的使用python來直接寫入HTML,但恐怕不能提供幫助。謝謝! – Abdall

+0

你可以把它寫到一個json文件中,讓javascript讀取json對象併爲你創建文件夾。 – nate