Here they say it's not supported out of the box.WTForms는 입력 읽기 전용 속성을 지원합니까?
HTML 입력 양식 필드에 WTForms의 'readonly'속성을 사용하는 방법을 알고 있습니까?
Here they say it's not supported out of the box.WTForms는 입력 읽기 전용 속성을 지원합니까?
HTML 입력 양식 필드에 WTForms의 'readonly'속성을 사용하는 방법을 알고 있습니까?
당신이 HTML/XHTML의 <input readonly>
속성에 대해 이야기하고 있다고 가정하겠습니다. 귀하가 링크 한 토론 스레드에 관한 내용은 아닙니다. (연결된 스레드는 전달 된 양식 입력을 무시하는 방법과 관련된 하위 수준의 문제입니다.)
readonly 특성 (실제로 필드의 모든 특성)을 설정하는 방법은 템플릿의 키워드 인수로 사용됩니다.
{{ form.myfield(readonly=true) }}
을 그리고 XHTML 또는 0.6.3 이전의 WTForms의 버전 : 신사를 사용하는 경우,이 (HTML5)과 같은
{{ form.myfield(readonly="readonly") }}
그냥 '읽기 전용'속성은 힌트이므로주의 사용자가 제출 한 내용에 영향을 미치지 않습니다. 즉, 악의적 인 사용자 (또는 사용자 정의 JS a la greasemonkey 또는 JS 콘솔 또는 DOM 트리가있는 브라우저를 사용하는 사용자)는 읽기 전용 속성이 설정되었는지 여부에 관계없이 필드 값을 변경하는 POST 요청을 생성 할 수 있습니다. 입력 태그.
이러한 이유 때문에 readonly 속성은 사용자 경험을 수정하는 옵션 (예 : JS를 사용하여 일부 이벤트/동작을 기반으로 필드를 비활성화하는 옵션)으로 유용하며 '읽기 전용'필드에서 오는 입력은 no입니다. 다른 폼 입력보다 더 신뢰할 수 있습니다.
from wtforms import Form, DateField, TextField
from wtforms_components import TimeField, read_only
class EventForm(Form):
name = TextField('Name')
start_date = DateField('Start date')
start_time = TimeField('Start time')
def __init__(self, *args, **kwargs):
super(EventForm, self).__init__(*args, **kwargs)
read_only(self.name)
용액 양식 필드 선언 render_kw
를 사용한다.
my_field = fields.StringField('Label', render_kw={'readonly': True})
Jinja2에서 액세스하려면 다음을 수행하십시오. {% if form.my_field.render_kw.readonly} 읽기 전용 blabla {% endif %} – techniao
양식을 선언 할 때 kwargs를 위젯이나 다른 것으로 전달할 수없는 것처럼 보입니다. – coleifer