2016-08-26 2 views
1

Я пытаюсь подключиться к mysql в футляре для бутылок, но без успеха. Ошибка говорит мне дать второй аргумент для маршрута, но мне не нужен дополнительный аргумент в url.Bottle mysql connect

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

Может это что вам нужно использовать '@ app.route' вместо' @ route'? –

+0

Когда я использую @ app.route, например, в https://github.com/tg123/bottle-mysql, я получил 404 – user3041764

+1

@MaartenBicknese правильно, это должно быть '@ app.route'. Как вы назвали ваш сервер, когда получили 404? –

ответ

0

Вы можете создать БД в качестве глобальной переменной и удалить его в качестве параметра для функции показа() или, возможно, сделать это необязательная переменная