LINUX.ORG.RU

Django. Стилизация форм.

 ,


0

1

Есть проблема, дана контактная форма:

<form id="contactForm" action="/post/" method="post"> 
	<p> Вы можете связаться с нами, заполнив обратную форму:</p>
	<fieldset>
		<div>
			<input name="name"  id="id_name" type="text" class="form-poshytip" title="Введите  имя" />
			<label>Имя</label>
		</div>
		<div>
			<input name="email"  id="id_email" type="text" class="form-poshytip" title="Введите адрес электронной почты" />
			<label>Email</label>
		</div>
		<div>
			<textarea  name="message"  id="id_message" rows="5" cols="20" class="form-poshytip" title="Введите сообщение"></textarea>
		</div>					
		<p><input type="button" value="Отправить" name="submit" id="submit" /> <span id="error" class="warning">Message</span></p>
	</fieldset>
</form>
Как засунуть class=«form-poshytip» в поля формы так, чтобы её можно было отобразить в шаблоне через {{ form.as_p }}, где form=ContactForm()?

Юзай {{ form.field1 }} на каждое поле, а уже теги верстай как тебе удобно.

vurdalak ★★★★★ ()

name = forms.CharField(widget=forms.TextInput(attrs={'class':'form-poshytip'}))

pi11 ★★★★★ ()

Переопредели класс формы, или то что выше предложили в подшаблон засунь.

Ну и судя по всему это тебе для какой-то библиотеки нужно, что мешает отдать ей селектор вида «#contactForm input» ?

Kalashnikov ★★★ ()
Ответ на: комментарий от vurdalak

{ form.field1 }}

возвращает мне <input id=«id_name» type=«text» maxlength=«100» name=«name»>, куда уже нельзя засунуть параметр class=«form-poshytip.

sinhbad ()

конструктор переопредели(ну __init__()), а там сделай

def __init__(self, *args, **kwargs):
        super(MySuperForm, self).__init__(*args, **kwargs)
     
        self.fields['myField'].widget.attrs.update({'class' : 'superclass'})
RedPossum ★★★★★ ()
Ответ на: комментарий от RedPossum

если хочешь во все поля формы, то циклом пройдись

RedPossum ★★★★★ ()
Ответ на: комментарий от RedPossum

конструктор переопредели

Почему не в самой форме описать?

pi11 ★★★★★ ()
Ответ на: комментарий от RedPossum

а вобще, да, при создании элемента в виджете поставь, чего уж там

RedPossum ★★★★★ ()
Ответ на: комментарий от pi11

Почему не в самой форме описать?

потому что у меня кондиционера нет, как-то так

RedPossum ★★★★★ ()
Ответ на: комментарий от RedPossum

Что ты имеешь ввиду, я тебя не понял.

pi11 ★★★★★ ()
Ответ на: комментарий от pi11

Что ты имеешь ввиду, я тебя не понял.

да просто жарко мне и туплю я, а так ты прав

RedPossum ★★★★★ ()
Ответ на: комментарий от sinhbad

Тогда еще глубже, {{ form.field1.value }} или как-то так. Точно не помню.

vurdalak ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.