2013-11-26 99 views
2

我正在玩Play Framework 2.0,我正在做的是一個簡單的Web應用程序,它可以執行以下操作: 要求用戶輸入一條消息,該消息被存儲到數據庫並顯示在屏幕上(這是一個測試程序) 我使用Ebean蒙山H2(我也跟着在官方網站上的說明進行此設置),並在應用的開始我創建一個表(通過1.SQL)Play Framework和Python

create table message (
    id      bigint not null, 
    created_on    timestamp, 
    message     varchar(255), 
    image_url     varchar(255), 
    constraint pk_message primary key (id)) 
; 

它幾乎做我想做的事情,但現在這是我的問題: 我有一個Python腳本,從互聯網上抓取大量的「消息」,目標是現在將這些抓取的消息添加到數據庫中。但我不知道該怎麼做,我不知道如何從播放框架的「外部」訪問數據庫。 有沒有通過Python更新數據庫的方法?如果是的話,提示如何做到這一點?

+0

入住這個帖子出來 [http://stackoverflow.com/questions/372885/how -DO-I-連接到一個MySQL的數據庫功能於蟒] [1] [1]:http://stackoverflow.com/questions/372885/how-do-i-連接到一個MySQL數據庫的蟒蛇 –

+0

謝謝你的答案,但我有一個已經看了起來,我的問題是關於如何設置MySQL連接(數據庫名稱,密碼等) –

回答

0

您可以輕鬆創建一個採用JSON並將其填充到數據庫中的REST端點。 Python應用程序然後可以提交到該端點。另一種選擇是使用Jython並與Ebean交互,我認爲這很難。

您還可以查看ORM(Ebean?)生成的表佈局,並直接在SQL中使用INSERT DATA插入該表佈局。這將是最有效的,但它依賴於你的表格佈局不變。其他解決方案是鍵入的,所以我認爲它們更安全。

+0

感謝您的回答,有關如何執行REST方法的任何提示?任何鏈接解釋?我仍然在學習,所以在這方面的任何資源都會很好。 –

+0

@TonyJ。請參閱http://www.playframework.com/documentation/2.2.x/JavaBodyParsers。它實際上不一定是REST,但那會很優雅。只要在你的控制器中定義一個像這樣的方法,用POST路徑掛接它並讓該方法將數據插入到數據庫中。 –

+0

我明白了,非常感謝!我會嘗試的。 –

0

這是你如何可以連接與Python到mysql一個簡單的指令 http://zetcode.com/db/mysqlpython/

希望它可以幫助

+0

感謝您的答案山姆,我的問題是如何找到數據庫名稱,用戶,密碼和一切創建數據庫連接。當使用Ebean(ORM)和數據庫的那些配置時,Play Framework以某種方式處理它: db.default.driver = org.h2.Driver db.default.url =「jdbc:h2:mem:play」 –