Из вашего описания я не понимаю, почему Ajax особенно необходим, хотя, конечно, вам нужна логика JavaScript для добавления / удаления строк. Я реализовал эту функциональность, используя WTForms, но без специальной поддержки самой WTForms; вам просто нужно убедиться, что при создании клиентских виджетов вы делаете это, используя имена полей, которые WTForms будет правильно анализировать в списке на стороне сервера. Вы можете клонировать существующую строку, используя JavaScript-код на стороне клиента, чтобы добавить строки, чтобы рендеринг строки был одинаковым для всех строк, созданных на стороне сервера, и строк, созданных на стороне клиента.