Я не уверен, что здесь можно использовать пользовательский тег ..
Я понимаю, что вы не хотите наполнять свой код множеством операторов if else, окружающих ваши атрибуты только для чтения. Если у вас есть, скажем, 20 полей ввода, все из которых должны быть сделаны только для чтения, в зависимости от того, когда выполняется одно условие (например, когда пользователь имеет привилегии только для чтения) .. вам не нужны накладные расходы на выполнение этой одиночной проверки 20 раз ..
Рассматривали ли вы создание отдельного представления только для чтения вашей формы? а и обернуть ли ты еще условие вокруг набора включений? хорошо - у вас есть репликация кода (что есть способы свести к минимуму), но это означает, что у вас есть только 1 проверка вместо 20? Еще одно преимущество сохранения режима «только для чтения» состоит в том, что данные не обязательно должны отображаться внутри элементов формы, и вы можете свободно стилизовать их так, как хотите.