Я и мой приятель читали документы для Flask-RESTless, и там говорится:
Аргументы функций препроцессора и постпроцессора будут предоставляться как аргументы ключевого слова, поэтому вы всегда должны добавлять **kw в качестве последнего аргумента при определении функции препроцессора или постпроцессора.
но он не указывает, как мы можем использовать эти аргументы ключевого слова для передачи информации в пре- или постпроцессор. Кто-нибудь может сказать нам, как это сделать?
Наш create_api сейчас выглядит так:
create_api(Foo,
methods=['GET', 'POST', 'PUT', 'DELETE'],
collection_name='p',
url_prefix='/api/v1',
primary_key='uid',
exclude_columns=['id'],
preprocessors={
'POST': [authenticate, validation_preprocessor],
'GET_SINGLE': [authenticate],
'GET_MANY': [authenticate],
'PUT_SINGLE': [authenticate, validation_preprocessor],
'PUT_MANY': [authenticate, validation_preprocessor],
'DELETE': [authenticate]
})
def validation_preprocessor(data=None, **kw):
# Do stuff
pass
Что мы хотим сделать, так это использовать **kw в validation_preprocessor для наших собственных значений.