まず、urls.pyを変更して、既存のビューを別の機能でラップする必要があります。これを行うには、バックエンドフォルダーに新しいバックエンドパッケージを作成し、他のすべてをそのままにしてurls.pyを変更する必要があります。または、バックエンドパッケージの既存のurls.pyを変更することもできます。
私はこれをテストしていませんが、動作するはずです。
URLを新しいビューにポイントします。
# urls.py
url(r'^register/$', register_wrap,
{'backend': 'registration.backends.default.DefaultBackend'},
name='registration_register'),
# your new view that wraps the existing one
def register_wrap(request, *args, **kwargs):
# call the standard view here
response = register(request, *args, **kwargs)
# check if response is a redirect
if response.status_code == 302:
# this was redirection, send json response instead
else:
# just return as it is
return response
より多くのビューでこれが必要になる場合は、これを使用してデコレータを作成できます。