2013-11-26 97 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” –