Форум сайта python.su
Хочу сделать элементарную форму. Читаю доки. Все вроде понятно. Но основы (для совсем пока еще глупых как я) не понимаю.
Давайте сразу на примере. Есть модель (в файле models.py)
class Message(model.Models):
descr = models.TextField()
class MessageForm(forms.Form):
descr = forms.TextField()
Офлайн
Так в доках же все есть http://docs.djangoproject.com/en/dev/topics/forms/#using-a-form-in-a-view
Офлайн
Я обычно пишу в forms.py, который лежит в корне приложения. Потому во views.py импортирую форму
from app.forms import MessageForm
и использую по назначению.
Иногда требуется динамическое создание форм и я делаю это прямо во views.py.
Офлайн
expee, да именно это и читаю) И не врублюсь откуда они форму-то берут)))))))
sairus, ясно. Спасибо. Пошел пробовать
Вообщем не зависит конкретно где я буду хранить это мне нравится.
Отредактировано (Янв. 5, 2010 18:09:15)
Офлайн
dissdocОт туда, где ты их создаешь. Например, в приложении будет файл forms.py, где ты объявил. Дальше импортируешь ее оттуда и делаешь все, как в доках.
expee, да именно это и читаю) И не врублюсь откуда они форму-то берут)))))))
Отредактировано (Янв. 5, 2010 18:12:43)
Офлайн
А у меня такой вопрос появился еще. Смотрите.
Вообщем создал я форму. Во views.py создал функцию def descr(request) . Теперь появился вопрос.
Я не хочу для этой функции новый шаблон делать. Я хочу форму встроить в тот же шаблон, в котором уже есть одна функция. Как мне быть в этом случае? Т.е. как мне добавить еще одну функцию и куда? (В urls.py через запятую не получается)
Отредактировано (Янв. 5, 2010 19:33:54)
Офлайн
Не понял, что ты хочешь. Вырази мысль конкретно.
Офлайн
Отредактировано (Янв. 5, 2010 20:07:44)
Офлайн
Есть шаблон, в котором идет отображение сообщений. Ну банальное что-то test.html
{% for mess in messes %}
{{ mess.message }}
{% endfor %}
def messhow(request):
messes = Messes.objects.all()
t = loader.get_template("test.html")
c = Context({'messes': messes})
return HttpResponse(t.render(c))
url(r'^$', messhow)
{% for mess in messes %}
{{ mess.message }}
{% endfor %}
<form action="" method="post">
{{ form_mess.as_p }}
<input type="submit" value="Submit" />
</form>
def messform(request):
#some code...
Офлайн