Django - изменение аргумента url перед вызовом представления (промежуточное ПО?)
Мне нужно изменить аргумент URL перед вызовом представления. Допустим, я просто хочу сделать его UPPERCASE. Поскольку представление создано сторонним приложением, я решил создать для этого промежуточное ПО, а не переписывать представление.
class UpperCaseNameMiddleware(MiddlewareMixin):
def process_view(self, request, callback, callback_args, callback_kwargs):
if callback == the_third_party_view:
raw_name = callback_kwargs["name"]
return the_third_party_view(request, raw_name.upper())
это работает, но я боюсь, что это не продолжит вызов других промежуточных программ. Есть ли способ изменить аргумент name
и продолжить работу, как если бы не было UpperCaseNameMiddleware
?