о генерируемим системою посиланнях
В результаті розробки одержимо систему для файлового обміну між користувачами, а також між групами користувачів, з використанням кімнат для організації зручного обміну файлами всередині групи користувачів.
2.2 Реалізація системи
. 2.1 Предметна область
Предметна область завдання включає наступні об'єкти реального світу: файли і папки. Користувачам необхідно надавати особистий каталог на сервері, де вони можуть створювати підкаталоги і оперувати ними: перейменовувати переміщати і видаляти. Також потрібно давати користувачам можливість завантажувати файли на сервер в зазначений каталог, завантажувати файли з сервера, отримувати посилання на скачування файлів для того, щоб поділитися файлами з іншими користувачами.
. 2.2 Програмна реалізація предметної області
Клас Folder (каталог, папка)
Модель визначає сутність каталог raquo ;, містить поля:
parent - покажчик на каталог вище рівнем
user - покажчик на користувача, якому належить каталог
name - ім'я каталогу
share - булевское поле, що містить інформацію про можливість або неможливість скачування файлу іншими користувачами або гостями сайту.
Клас File (файл)
Клас визначає сутність файл raquo ;, містить поля:
name - ім'я файлу
file - ім'я прісеваемое файлу системою при завантаження його на сервер
size - розмір файлу на сервер
folder - покажчик на віртуальну папку в якій зберігається файл
user - покажчик на користувача, якому належить файл
Клас Room (кімнати)
Клас визначає сутність кімнати raquo ;, містить поля:
name - назва кімнати
maker - покажчик на користувача створив кімнату
share - булевское поле, що містить інформацію про можливість або неможливість скачування файлів усередині кімнати гостем raquo ;, тобто користувачем не перебувають у кімнаті
Клас RoomUse ()
Клас описує стосунки кімнат і користувачів raquo ;, містить поля:
room - покажчик на кімнату
user - покажчик на користувача
approve - булевское поле, що містить інформацію про те чи підтвердив користувач свій намір складатися в кімнаті
. 2.3 Функції уявлення
Перед тим як розглядати конкретні функції уявлення, розглянемо схему роботи Веб-додатки (Рис.1)
Рис.1. Схема роботи веб-додатки
Після того як користувач запросив сторінку нашого ресурсу, системі, необхідно знати яку функцію представлення (обробник) необхідно виконати. Інформація про зіставленні url-адрес і функції поданні міститься в urls.py.
Набір функцій уявлень міститься у файлі views.py. У процесі виконання конкретного обробника необхідно проводити дії над властивостями і викликати методи різних об'єктів.
Інформація про методи і властивості знаходиться у файлі models.py.
По завершенні виконання обробник передає дані шаблонизатор для виведення на інтерфейс користувача.
Таким чином, виконання Веб-додатки зводиться до виконання конкретних обробників по конкретних url-адресами.
2.2.4 Шаблони виведення даних
Шаблони виведення даних являють собою файли, що містять html-шаблон виводу і виконуваний код шаблонізатора.
Код шаблонізатора виконується при формуванні http-відповіді. Шаблонизатор вгружает отримані на вхід дані у відповідний html-шаблон, а на виході повертає html-код.
Розглянемо конкретні шаблони нашого застосування:
· Main-page.htt - шаблон головної сторінки. (див. лістинг 5)
· Files-page.htt - шаблон поданні файлової системи (див. лістинг 6)
· Rooms-page.htt - шаблон уявлення кімнат (див. лістинг 7)
Висновок
У результаті проведеної роботи був розроблений веб-ресурс, який дозволяє користувачам завантажувати файли на сервер та обмінюватися ними.
Дана система є зручним засобом для зберігання і транспортування даних.
Список літератури
Пейн Дж., Починаючи з Python: Використання Python 2.6 і Python 3.1/Д. Пейн: Wiley Publishing, 2009. - 624 с.
Головатий А., Django: Докладне керівництво/Адріан Головатий, Джейкоб Каплан-Мосс: Символ-Плюс, 2010. - 560 с.
Фауле...