Выполните вызов следующим образом:
kwargs = dict(searchTerm=searchTerm,
blendLicense=blendLicense,
renderEngine=renderEngine,
blenderVersion=blenderVersion)
url_for(request.endpoint, page=pagination.next_num, **kwargs)
Это работает так же, как код в вашем вопросе.Но теперь вы можете удобно отфильтровать значение по умолчанию, такое как None
:
def filter_default(kwargs):
return {k: v
for k, v in kwargs.items()
if v}
(или используйте if v is not None
, если могут присутствовать такие значения, как пустая строка.)
Применить этоФункция фильтрации в словаре перед его передачей.
EDIT
{{ url_for(request.endpoint,
page=pagination.next_num,
**filter_default(dict(searchTerm=searchTerm,
blendLicense=blendLicense,
renderEngine=renderEngine,
blenderVersion=blenderVersion))) }}