Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 5, 2010 17:59:30

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Хочу сделать элементарную форму. Читаю доки. Все вроде понятно. Но основы (для совсем пока еще глупых как я) не понимаю.
Давайте сразу на примере. Есть модель (в файле models.py)

class Message(model.Models):
descr = models.TextField()
По докам создаю форму допустим
class MessageForm(forms.Form):
descr = forms.TextField()
Формы наследую по докам как newforms.
Теперь главный вопрос - куда собственно этот код формы писать? В какой файл? :)



Офлайн

#2 Янв. 5, 2010 18:01:40

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Офлайн

#3 Янв. 5, 2010 18:04:32

sairus
От:
Зарегистрирован: 2007-10-08
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Я обычно пишу в forms.py, который лежит в корне приложения. Потому во views.py импортирую форму

from app.forms import MessageForm

и использую по назначению.
Иногда требуется динамическое создание форм и я делаю это прямо во views.py.



Офлайн

#4 Янв. 5, 2010 18:08:21

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

expee, да именно это и читаю) И не врублюсь откуда они форму-то берут)))))))
sairus, ясно. Спасибо. Пошел пробовать
Вообщем не зависит конкретно где я буду хранить это мне нравится.



Отредактировано (Янв. 5, 2010 18:09:15)

Офлайн

#5 Янв. 5, 2010 18:11:27

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

dissdoc
expee, да именно это и читаю) И не врублюсь откуда они форму-то берут)))))))
От туда, где ты их создаешь. Например, в приложении будет файл forms.py, где ты объявил. Дальше импортируешь ее оттуда и делаешь все, как в доках.

ps. с сотым сообщением меня :)



Отредактировано (Янв. 5, 2010 18:12:43)

Офлайн

#6 Янв. 5, 2010 19:33:01

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

А у меня такой вопрос появился еще. Смотрите.
Вообщем создал я форму. Во views.py создал функцию def descr(request) . Теперь появился вопрос.
Я не хочу для этой функции новый шаблон делать. Я хочу форму встроить в тот же шаблон, в котором уже есть одна функция. Как мне быть в этом случае? Т.е. как мне добавить еще одну функцию и куда? (В urls.py через запятую не получается)



Отредактировано (Янв. 5, 2010 19:33:54)

Офлайн

#7 Янв. 5, 2010 20:01:47

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Не понял, что ты хочешь. Вырази мысль конкретно.



Офлайн

#8 Янв. 5, 2010 20:07:13

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Отредактировано (Янв. 5, 2010 20:07:44)

Офлайн

#9 Янв. 5, 2010 20:12:16

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с формами.

Есть шаблон, в котором идет отображение сообщений. Ну банальное что-то test.html

{% for mess in messes %}
{{ mess.message }}
{% endfor %}
Для него есть функция во views.py
def messhow(request):
messes = Messes.objects.all()
t = loader.get_template("test.html")
c = Context({'messes': messes})
return HttpResponse(t.render(c))
Ну и в urls.py
url(r'^$', messhow)
Так вот. Сделал я форму. Шаблон изменил вот так допустим
{% for mess in messes %}
{{ mess.message }}
{% endfor %}

<form action="" method="post">
{{ form_mess.as_p }}
<input type="submit" value="Submit" />
</form>
А во views.py добавил функцию
def messform(request):
#some code...
Так вот вопрос, как мне подвязать функцию работы с формой к моему шаблону, к которому уже подвязана функция через urls.py?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version