In my form base class, I call read_only in the init function as in the example in the docs:
https://wtforms-components.readthedocs.io/en/latest/#read-only-fields
It achieves the desired effect for StringField and TextAreaField, but not for the others.
Please let me know whether or not you can address this...if not, I might try to address it and submit a pull request.
Thanks.