Я полагаю, что не Django, чистое решение на Python с использованием декораторов подходит для вас.
Пожалуйста, рассмотрите следующий код
def check1(): print "check1"
def check2(): print "check2"
def dev_api(f):
def fd(*args, **kw):
check1()
check2()
f(*args, **kw)
# optionally, perform some post check
print "post check"
return fd
@dev_api
def business(a, b, *args, **kw):
print 'business', a, b, args, kw
business(1, 2, 'a', 'b', 'c', x='x', y='y')
- check1, check2 ваше мнение, другая стоимостьфункции и т. д.
- dev_api - это функция группировки ваших "проверочных" функций
- бизнес - это функция бизнес-логики, выполнение которой должно быть ограничено вашими функциями "проверки"
Теперь вы можете предоставлять функции бизнес-логики, оформленные, как описано выше, или сами декораторы для конечного использования разработчиком.
есть еще кое-что, что можно узнать с помощью декораторов (то есть декораторов с параметрами).пожалуйста, не стесняйтесь запрашивать больше примеров, если это необходимо.
вывод кода выше
check1
check2
business 1 2 ('a', 'b', 'c') {'y': 'y', 'x': 'x'}
post check