2016-08-26 22 views
1

ボトルのフレームワークでmysqlに接続しようとしていますが、成功しません。エラーは、ルートに2番目の引数を与えるように私に指示しますが、私はURLに追加引数を必要としません。ボトルのmysql接続

import bottle 
import bottle_mysql 
from bottle import route, run, template, app 

app = bottle.Bottle() 
plugin = bottle_mysql.Plugin(dbuser='root', dbpass='toor', dbname='database') 
app.install(plugin) 

@route('/show/<a>') 
def show(a, db): 
    db.execute('SELECT * FROM table WHERE a > "%d"', (a,)) 
    return template('Hello {{name}}, how are you?', name=a) 

run(host='192.168.1.19', port=8080, debug=True) 

エラー:

TypeError('show() takes exactly 2 arguments (1 given)',) 
+2

でしたそれ'@ route'ではなく' @app.route'を使う必要があるのでしょうか? –

+0

https://github.com/tg123/bottle-mysqlのように@ app.routeを使うと、404 – user3041764

+1

@MaartenBickneseが正しいです。それは '@ app.route'にする必要があります。あなたは404を持っているときあなたのサーバーにどのように電話しましたか? –

答えて

0

あなたはグローバル変数としてDBを作成して、機能のショーのためのパラメータ(と、それを削除したい)または可能にすることがあり、それオプションの変数