2015-11-28 191 views
0

我正在開展一個大學項目,該項目基本上需要構建一個簡單的新聞網站來從Twitter獲取推文。我選擇了Tweepy作爲這個任務的Python庫。web2py頁面重新加載jQuery AJAX

爲了實現這一新聞網站,我有一個叫做「tweet_source」存儲用戶名Twitter的表。 在一個叫做「tweets.html」視圖,我首先取從「tweet_source」各自的用戶名和它傳遞給Tweepy Python腳本(其中包含我的訪問令牌等)

的Tweepy腳本將來自Twitter獲取數據如first_name,tweets,個人資料圖片,併爲每個用戶生成div。

一切工作得很好,它確實生成div整齊。 但是,我們的主要標準是有一個「刷新」按鈕,它將使用AJAX從Twitter獲取新的推文。

在我的情況 - 1.重新運行Python腳本2.重新生成的div。

我使用其中I創建的另一個視圖之間與腳本{{}},並用於作爲響應的默認AJAX方法嘗試一種方法。但是,生成的div被混淆並相互重疊。

我碰到另一種方法涉及剛剛刷新使用jQuery的AJAX方法的當前頁,因爲以這種方式來 - 1.該腳本將重新運行2. div的重新生成正是我想要的方式。

function refresh_tweets(){ 
        $.ajax({ 
    type:'post', 
    data:{}, 
    url:'tweets.html', 
    dataType:'html', 
    success:function(response){ 
     $('body').html(response); 
    } 
    }); 
} 

現在的問題是,腳本運行(我可以看到我的web2py控制檯上的輸出),但是沒有在頁面上即創建的div;除少數標題外不顯示任何內容。

注: - 這可能是值得一提的是,我不從Twitter使用我的Tweepy腳本獲取鳴叫存儲在數據庫中的另一個表。 (項目準則要求我們這樣做)。 爲了達到這個目的,我在頁面頂部添加了db.tweet_tweet.truncate(),以確保我刪除舊推文並添加新推文。

如果有人能幫助我,我將不勝感激。 或爲此任務提供更簡單的解決方案。

如果需要,我會很樂意分享'tweets.html'的代碼。

感謝, 阿瓊

編輯:用於存儲數據的鳴叫不會成爲空的「tweet_tweet」表。我現在只是測試它,假設我點擊「刷新」,一個新的推文會成功添加到表中,但再次沒有生成div或輸出。

回答

0

我使用web2py的AJAX方法解決了我的問題。

ajax(url, [name1, name2, ...], target) 

這主要是在'tweets.html'中重新生成div的問題。

阿瓊