Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
__Пояснительная записка - FINAL.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.07 Mб
Скачать
  1. Описание приложения для управления сервисом вопросов и ответов (apps.Forum)

Приложение Forum является ключевым приложением сервиса, и отвечает за создание вопросов, создание ответов на вопросы, а так же осуществляет управление рейтингами вопросов. В приложении Forum используются модели Question, Answer, User, Post, Tag, Attachment, Vote.

В таблице 3.1 представлено описание свойств модели Post. Модель Post содержит информацию о контекстах вопросов и ответов, созданных пользователями. По данной модели была автоматически сгенерирована таблица forum_post.

п/п

Наименование

Тип

Описание

timestamp

DateTimeField

Дата создания сообщения

rating

IntegerField

Рейтинг сообщения

text

TextField

Текст сообщения

user

ForeignKey

Автор сообщеия

В таблице 3.2 представлено описание свойств модели Question. Модель Question содержит информацию о вопросах, которые задали пользователи на сервисе. По данной модели была автоматически сгенерирована таблица forum_question.

п/п

Наименование

Тип

Описание

subject

TextField

Тема обсуждения

views

IntegerField

Количество просмотров

post

ForeignKey

Сообщение

user

ForeignKey

Автор вопроса

В таблице 3.3 представлено описание свойств модели Answer. Модель Answer содержит информацию об ответах, которые дали пользователи на разилчные вопросы. По данной модели была автоматически сгенерирована таблица forum_answer.

п/п

Наименование

Тип

Описание

question

ForeignKey

Вопрос

post

ForeignKey

Сообщение

user

ForeignKey

Автор ответа

В таблице 3.4 представлено описание свойств модели Attachment. Модель Attachment содержит информацию о файловых вложениях, которые прикреплены к разлиным сообщениям. По данной модели была автоматически сгенерирована таблица forum_attachment.

п/п

Наименование

Тип

Описание

file_path

FilePathField

Путь к файлу вложения

post

ForeignKey

Сообщение

user

ForeignKey

Автор вопроса

В таблице 3.5 представлено описание свойств модели Tag. Модель Tag содержит информацию о ключевых словах, которыми обозначены различные вопросы. По данной модели была автоматически сгенерирована таблица forum_tag.

п/п

Наименование

Тип

Описание

name

TextField

Ключевое слово

question

ForeignKey

Вопрос

В таблице 3.6 представлено описание свойств модели Vote. Модель Vote содержит информацию о том, какие пользователи за какие сообщения голосовали. По данной модели была автоматически сгенерирована таблица forum_vote.

п/п

Наименование

Тип

Описание

post

ForeignKey

Сообщение

user

ForeignKey

Пользвотель

Структуры данных в БД проекта были автоматически сгенерированы средствами фреймворка Django на основе ORM моделей для каждого из разработанных приложений. Генерация моделей осуществляется при помощи команды syncdb модуля manage.py

Подробное описание таблиц БД приведено в приложении Х "Описание структур данных в БД".

Описание представлений приложения accounts приведено в таблице 3.1:

п/п

Наименование

Входные параметры

Описание

questions

tag_name

Отображение списка вопросов, отфильтрованных по ключевому слову tag_name

question

question_id, action

Выполнение действия action над вопросом с идентификатором question_id и отображение результата. Список возможных действий: view, like, dislike.

answer

answer_id, action

Выполнение действия action над ответом с идентификатором answer_id и отображение результата. Список возможных действий: view, like, dislike.

ask_question

-

Отображение формы для создания нового вопроса

search_by_tag

-

Отображение формы для поиска вопросов по ключеовому слову

Сопоставление представлений с URL-шаблонами приведено в таблице 3.2:

п/п

URL-паттерн

Сопоставленное представление (view)

questions/(?P<tag_name>[0-9\w]*)

questions

question/(?P<question_id>[0-9]+)/(?P<action>[a-z\-]*)

question

answer/(?P<answer_id>[0-9]+)/(?P<action>[a-z\-]*)

answer

search/

search_by_tag

ask/

ask_question