Xatabch/technopark_web

4 Домашнее задание

Opened this issue · 2 comments

Авторизация и обработка форм

Формы авторизации

Форма логина(Располагается по URL /login/)

  • Пользователь логин/пароль
  • Дополнительно в GET параметрах передается параметр continue - URL на который нужно отправить пользователя после успешной авторизации.
  • При неудачной авторизации нужно отображать сообщение об ошибке

Форма регистрации(Располагается по URL /signup/)

  • Пользователь вводит все необходимые поля (email, имя, пароль)
  • После успешной регистрации отправляется на главную страницу.

Форма редактирования профиля(Располагается по URL /profile/edit)

  • Доступна только для авторизованного пользователя
  • Пользователь видит все необходимые поля: email, nick, avatar.
  • После сохранения остается на странице.

Еще для форм авторизации

  • Ссылка “выход”. Располагается на каждой странице в шапке сайта
  • Видна только авторизованным пользователям. После выхода пользователь остается на текущей странице.

Формы добавления данных

Форма добавления вопроса(Располагается по URL /ask/)

  • Пользователь вводит название, текст и теги вопроса.
  • После успешного добавления отправляется на страницу вопроса.

Форма добавления ответа(Располагается на странице вопроса URL /question/.)

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

Основные требования к формам

  • Обязательна валидация входных данных и вывод сообщений об ошибках
  • При выводе сообщений об ошибках введенные пользователем данные сохраняются, так что нет необходимости вводить их повторно
  • Все формы отправляются с методом POST
  • После успешной обработки формы пользователь отправляется на новую страницу с помощью редиректа
  • Использовать встроенную в Django защиту от CSRF
  • Для обработки и вывода форм использовать django.forms

УДАЛИТЬ МИГРАЦИИ ПЕРЕД МЕРДЖЕМ

  • сделать дефолтную фотографию через static и сделать null=True и проверять на самой страничке есть ли изображение