You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Реализовать голосвания за сообщества через "лайки"
Добавить систему обратной связи, которая позволит посетителям сайта указать на необходимость исправления или добавления страницы сообщества.
Подбронее о каждой из задач ниже.
Реализовать поиск
Требуется отдельная страница community/search, содержащая строку ввода запроса поиска и вывод подходящих под запрос сообществ.
Поиск должен производиться по названию сообщества. Если в названии сообщества встречается строка запроса оно считается подходящим под запрос.
Например для ввода фрэла подходят, например, сообщества Радиокружок ФРЭЛА и Лямбда ФРЭЛА. Они же подходят для ввода эл.
Поиск должен быть независим от регистра вводимого запроса и названий сообществ!
Для выполнения задачи нужно:
Создать вид search в community.views. На GET запрос вид должен отрисовать страничку search.html со строкой запроса и результатами поиска (подходящими сообществами). Вид должен принимать GET параметр query с запросом для поиска. При отсутствии запроса должен рисовать пустой список результатов.
Например localhost:8000/community/search - выводит строку запроса и пустую страницу. localhost:8000/community/search?query=ФРЭЛА - выводит строку запроса и сообщества содержащие "фрэла" в названии.
Таким образом кнопка "искать" рядом со строкой запроса должна перенаправлять пользователя на страницу /search и передавать как параметр query её содержимое.
Для того, чтобы "отыскать", среди объектов модели Communities соответствующие запросу нужно использовать такие методы моделей как filter и, возможно, exclude. Подробнее в доках
Вид должен возвращать сообщества в алфавитном порядке!
Создать шаблон search.html, вызываемый видом search. Он должен использовать для отрисовки результатов существующий шаблон community/list.html. Он так же должен содержать <input> для ввода поискового запроса.
Шаблон должен выводить строку "Ничего не найдено" вместо списка сообществ если ничего не было найдено.
Шаблон должен быть оформлен с помощью bootstrap!
Создать ссылку на вид поиска в communities/urls.
Протестировать основные случаи: пустой запрос, неверный запрос, верный запрос.
Дополнительное задание: реализовать поиск по множеству полей.
Всё то же самое, но поиск должен осуществляться по всем полям. При этом имя сообщества должно быть приоритетным для поиска, совпавшие по имени сообщества должны выпадать в выдаче впереди совпавших по другим полям.
Для этого вам понадобятся Q() и доки.
Реализовать голосования через лайки
Требуется, чтобы рядом с названием сообщества была кнопка "лайкнуть" и количество текущих лайков.
Для выполнения задания необходимо:
Установить и интегрировать приложение secretballot.
Настроить secretballot: лайки должны быть привязаны к IP и UserAgent пользователя.
Адаптировать модель Community для работы с лайками средствами secretballot.
Добавить новый вид like.
Вид должен принимать GET запрос без параметров. like должен использовать вид vote модуля secretballot.
Задача вида: определить, пытается пользователь поставить или снять лайк и передать 1 или 0 соответственно в вид vote. Вернуть результат.
Повторный "лайк" сообщества должен отменять предыдущий лайк.
Возвращать вид должен количество лайков за данное сообщество.
Добавить ссылки в community.urls.
Вид like должен быть доступен по ссылке /community/<id>/like, где <id> заменяется на id этого сообщества.
Изменить шаблон community/detail.html, добавив туда счетчик лайков и кнопку "лайк" рядом с названием сообщества.
Реализовать систему обратной связи
Требуется форма, позволяющая пользователю сайта отправить запрос на изменение странички сообщества.
Это должна быть отдельная страница /feedback.
Для выполнения:
Создать новую модель FeedbackMessage с полями text, created_date.
В project/views добавить вид feedback.
По GET запросу он должен отрисовывать шаблон feedback.html с формой для создания нового FeedbackMessage.
По POST запросу он должен создавать новое сообщение FeedbackMessage.
В project/urls добавить ссылку на вид feedback.
Создать шаблон feedback.html с формой используя forms. По кнопке отправить форма должна отправлять всё, что ввёл пользователь, POST запросом в вид feedback.
Добавить в navbar.html кнопку для перехода на страницу feedback.
Добавить в feedback.html инструкцию для пользователя:
Если вы хотите изменить существующее сообщество, то укажите ссылку на него и требуемые изменения.
Если вы хотите добавить сообщество, то опишите его по примеру существующих.
После выполнения каждого задания необходимо исправить баги, сделать коммит и пулреквест!
The text was updated successfully, but these errors were encountered:
Несколько задач по улучшению сайта
Задачи актуальны для версии репозитория от 25 Апреля 2016
Список задач:
Подбронее о каждой из задач ниже.
Реализовать поиск
Требуется отдельная страница
community/search
, содержащая строку ввода запроса поиска и вывод подходящих под запрос сообществ.Поиск должен производиться по названию сообщества. Если в названии сообщества встречается строка запроса оно считается подходящим под запрос.
Например для ввода
фрэла
подходят, например, сообщества Радиокружок ФРЭЛА и Лямбда ФРЭЛА. Они же подходят для вводаэл
.Поиск должен быть независим от регистра вводимого запроса и названий сообществ!
Для выполнения задачи нужно:
search
вcommunity.views
. НаGET
запрос вид должен отрисовать страничкуsearch.html
со строкой запроса и результатами поиска (подходящими сообществами). Вид должен приниматьGET
параметрquery
с запросом для поиска. При отсутствии запроса должен рисовать пустой список результатов.Например
localhost:8000/community/search
- выводит строку запроса и пустую страницу.localhost:8000/community/search?query=ФРЭЛА
- выводит строку запроса и сообщества содержащие "фрэла" в названии.Таким образом кнопка "искать" рядом со строкой запроса должна перенаправлять пользователя на страницу
/search
и передавать как параметрquery
её содержимое.Для того, чтобы "отыскать", среди объектов модели
Communities
соответствующие запросу нужно использовать такие методы моделей какfilter
и, возможно,exclude
.Подробнее в доках
Вид должен возвращать сообщества в алфавитном порядке!
search.html
, вызываемый видомsearch
. Он должен использовать для отрисовки результатов существующий шаблонcommunity/list.html
. Он так же должен содержать<input>
для ввода поискового запроса.Шаблон должен выводить строку "Ничего не найдено" вместо списка сообществ если ничего не было найдено.
Шаблон должен быть оформлен с помощью bootstrap!
communities/urls
.Дополнительное задание: реализовать поиск по множеству полей.
Всё то же самое, но поиск должен осуществляться по всем полям. При этом имя сообщества должно быть приоритетным для поиска, совпавшие по имени сообщества должны выпадать в выдаче впереди совпавших по другим полям.
Для этого вам понадобятся Q() и доки.
Реализовать голосования через лайки
Требуется, чтобы рядом с названием сообщества была кнопка "лайкнуть" и количество текущих лайков.
Для выполнения задания необходимо:
Настроить
secretballot
: лайки должны быть привязаны к IP и UserAgent пользователя.Адаптировать модель
Community
для работы с лайками средствамиsecretballot
.like
.Вид должен принимать GET запрос без параметров.
like
должен использовать видvote
модуляsecretballot
.Задача вида: определить, пытается пользователь поставить или снять лайк и передать
1
или0
соответственно в видvote
. Вернуть результат.Повторный "лайк" сообщества должен отменять предыдущий лайк.
Возвращать вид должен количество лайков за данное сообщество.
community.urls
.Вид
like
должен быть доступен по ссылке/community/<id>/like
, где<id>
заменяется наid
этого сообщества.community/detail.html
, добавив туда счетчик лайков и кнопку "лайк" рядом с названием сообщества.Реализовать систему обратной связи
Требуется форма, позволяющая пользователю сайта отправить запрос на изменение странички сообщества.
Это должна быть отдельная страница
/feedback
.Для выполнения:
FeedbackMessage
с полямиtext
,created_date
.project/views
добавить видfeedback
.По GET запросу он должен отрисовывать шаблон
feedback.html
с формой для создания нового FeedbackMessage.По POST запросу он должен создавать новое сообщение FeedbackMessage.
project/urls
добавить ссылку на видfeedback
.feedback.html
с формой используяforms
. По кнопкеотправить
форма должна отправлять всё, что ввёл пользователь, POST запросом в видfeedback
.Добавить в
navbar.html
кнопку для перехода на страницуfeedback
.Добавить в
feedback.html
инструкцию для пользователя:После выполнения каждого задания необходимо исправить баги, сделать коммит и пулреквест!
The text was updated successfully, but these errors were encountered: