1
bottleとはどのようにMiddleStormミドルウェアを使用しますか? 私はthis exampleに続き、SessionMiddlewareをMiddleStormに置き換えましたが、動作させることができません。MiddleStormミドルウェア(ボトル付き)
from bottle import *
from storm.locals import *
from middlestorm import MiddleStorm
#other bottle code like this here...
@get('/')
def index():
return 'index'
db = create_database("mysql://user:[email protected]/mydb")
myapp = MiddleStorm(app, db)
run(app=myapp, reloader=True, host='0.0.0.0', port=4321)
私はコンソールにこのエラーが表示されます。
exceptions.TypeError: __call__() takes exactly 1 argument (3 given)
私はmyappというの行を変更した場合:
myapp = MiddleStorm(app(), db)
私は、Webページ上でこのエラーが発生します。
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/bottle-0.9.5-py2.7.egg/bottle.py", line 651, in _handle
return callback(**args)
File "/usr/local/lib/python2.7/dist-packages/bottle-0.9.5-py2.7.egg/bottle.py", line 1143, in wrapper
rv = callback(*a, **ka)
TypeError: decorator() takes exactly 1 argument (0 given)
編集:bottle、storm、middles私はmyappに= MiddleStormにmyappのラインをchane場合(dafault_app、デシベル)私はこのエラーを取得する:
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/usr/local/lib/python2.7/dist-packages/middlestorm-0.8.1-py2.7.egg/middlestorm.py", line 68, in __call__
return self._app(environ, start_response)
TypeError: __call__() takes exactly 1 argument (3 given)
homer - - [17/Jul/2011 16:28:42] "GET/HTTP/1.1" 500 59
はEDIT3:@zeekayコードで、私はまだ、このエラーが出る:
TORMはEDIT2をインストールされています
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/bottle-0.9.5-py2.7.egg/bottle.py", line 651, in _handle
return callback(**args)
File "/usr/local/lib/python2.7/dist-packages/bottle-0.9.5-py2.7.egg/bottle.py", line 1143, in wrapper
rv = callback(*a, **ka)
TypeError: decorator() takes exactly 1 argument (0 given)
この回答をもう少し説明すると、ミドルウェアは実際のwsgiアプリをラップすることを期待していますが、ボトル内のリクエストハンドラはそうではなく、むしろボトルがwsgiアプリを構築するためにそれらを使用しています。 – SingleNegationElimination
更新された質問をご覧ください。私はまだエラーが発生します。 – redman
@zeekay私は私の答えを更新しましたが、私はまだエラーが発生します:/ – redman