1

署名が次のようなサードパーティアプリからのビューがあります。

@secure_required
def activate(request, activation_key,
             template_name='userena/activate_fail.html',
             retry_template_name='userena/activate_retry.html',
             success_url=None, extra_context=None):

この関数をクリーンな方法で拡張するにはどうすればよいですか? 実際には、いくつかのオプションのパラメーターを指定するだけで済みますが、関数全体をコードにコピーしてオーバーライドすることなく、これを行うことはできますか? コードが変更される可能性があるため、このサードパーティ製アプリのバージョンをアップグレードすると、将来的には安全ではないようです。

編集:

URL を上書きして追加のパラメーターを含めようとすると、ビューが予期しないパラメーターを受け取ったと表示されます。

私がやっているURLのオーバーライドは次のとおりです。

url(r'^activate/(?P<activation_key>\w+)/$',
    userena_views.activate,
    success_url='/foo/', name='userena_activate',),

ありがとう

4

1 に答える 1