2011-09-14 5 views
0

템플릿 태그에 양식을 렌더링하는 데 사용할 폼 필드 중 하나에 특별한 template 속성을 추가하려고합니다. 다음은 코드입니다.django의 양식 필드 중 하나에 속성 추가

form = ProfileForm() 

for field in form: 
    if field.name == 'email': 
     field.template = 'email_field.html' 

이렇게하면 원래 form 변수가 수정되지 않습니다. 내 목표를 달성 할 수있는 방법이 있습니까?

+0

상상했던대로 여기에서 작동하지 않는 것에 대해 좀 더 통찰력을 제공해주십시오. – rumpel

답변

1

나는 당신이 HTML5 이메일 필드를 구축 할 수 있습니다 가정거야 :

from django import forms 
from django.forms.widgets import Widget 
from django.utils.safestring import mark_safe 


class Html5Email(Widget): 

    def render(self, name, value, attrs=None): 
     return mark_safe(u'<input name="custom-email" type="email" />') 


class YourForm(forms.Form): 
    html5_email = forms.CharField(widget=Html5Email()) 

내가 장고 소스 코드를이기는에 의해 위를 내놓았다. 필자는 실제 프로젝트에서 위의 코드를 개인적으로 사용하지 않았으므로 코드를 작성해야 할 것입니다.

관련 문제