「互換性のない」コントローラメソッドシグネチャを指定するためにスローされる例外は、デバッグ/開発モードでのみ発生します。開発モードを無効にすると、コントローラーメソッドが重要なパラメーターを欠いている場合にHTTP 500エラーを送信するため、実稼働環境でこれをより適切に処理する必要はありません。
development.iniのそれぞれの設定を検討することをお勧めします。
# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false
これがあなたの質問だったと思います。
重要なパラメーターがない場合でも、コントローラーに作業を実行させたい場合は、デフォルト値を定義する必要があります。そうしないと、コントローラーはとにかく正しく作業を実行できません。自分自身に問いかけるほうがよいのは、より良いエラーメッセージが必要なのか、それともコントローラーがそのタスクを実行できるようにするのかということです。後者の場合、デフォルトのパラメータを指定するのがベストプラクティスです。顧客がエラーを受け取らないように、各メソッドに*argsと**kwargsを指定するのは、私のオプションでは非常に醜いハックです。
これらのエラーの表示を変更する場合は、/ controllers/error.pyを参照してください。
これがお役に立てば幸いです。
トム