форма django версия 1.3 - PullRequest
       8

форма django версия 1.3

0 голосов
/ 02 августа 2011

Я хочу, чтобы пользователь отправил форму на определенной странице.Моя модель похожа на это

class Ask(models.Model):
    name = models.CharField(max_length=500)
    designation = models.CharField(max_length=200, blank=True)
    email = models.EmailField()
    phone = models.CharField(max_length=20,  blank=True)
    avatar = models.ImageField(upload_to="/ask/users/avaters", blank=True)
    question = models.CharField(max_length= 1024)
    ques_time = models.DateField()
    answere = models.TextField()
    ans_time = models.DateField()
    display = models.BooleanField()
    asker_ip = models.CharField(max_length=100)

От пользователя я получу имя, должность, адрес электронной почты, телефон, имя пользователя и вопрос.Ques_time и ans_time будут автоматически обновляться в это время.Ответ будет заполнен владельцем сайта в админке django.asker_ip будет автоматически получен с IP-адреса браузера.

У меня есть базовый шаблон в разделе шаблонов.Когда форма отправлена, пользователь будет перенаправлен на эту страницу, но с сообщением об успехе в части формы.Кстати, я хочу, чтобы пользователь загрузил это аватара.

Теперь, как мне начать с этой темы.Если вы можете просто описать, как начать писать или пришлите мне URL, который будет полезен.

1 Ответ

2 голосов
/ 02 августа 2011

вы можете сделать что-то вроде этого:

  • создайте представление, которое проверяет форму следующим образом : если есть POST (пользователь отправил форму), он создает объект формы со всеми представленными значениями в нем, тогда вы можете манипулировать. если нет запроса POST, он просто создает пустую форму для шаблона. В обоих случаях представление возвращает форму в шаблон. возможно, используйте другую переменную, установленную в True / False, если форма была отправлена ​​или она пуста.
  • в шаблоне вы можете проверить с помощью тегов шаблона, существует ли форма (с переменной) или нет, например:

    {% if form_sent%}

    Браво! Вы отправили что-то

    {% else%} {{form.as_p}} {% endif%}

как то так. это должно охватывать первую часть вашего вопроса. Это - это то, что вы ищете для загрузки файлов. Внимательно прочитайте эту страницу, если вы что-то упустили, загрузка не будет выполнена (т. Е. Я никогда не забуду включить в форму правильный mimetype и всегда получаю ошибки)

...