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',),
感謝
謝謝!不知道你可以包裝並返回這樣的功能。然而,我甚至不需要那麼遠 - 我只想添加extra_context或success_url,但視圖是說它收到一個意外的參數。 – Joker
我認爲'success_url'應該是一本字典。更新了答案。 – mipadi
是的,這是問題所在。謝謝 – Joker