Добавить свойство в одно из полей формы в Django - PullRequest
0 голосов
/ 15 сентября 2011

Я пытаюсь добавить специальное свойство template к одному из полей формы, которое я буду использовать для отображения формы в теге шаблона. Вот код:

form = ProfileForm()

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

Таким образом, исходная переменная form не изменяется. Есть ли способ достичь моей цели?

1 Ответ

1 голос
/ 15 сентября 2011

Я предполагаю, что вы можете создать поле электронной почты 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())

Я придумал вышесказанное, взглянув на исходный код Django. Поскольку я лично не использовал вышеизложенное в реальном проекте, код, вероятно, нужно будет конкретизировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...