Создание сайта для научно-образовательного центра "Интеллектика"

Анализ систем для создания сайта "Интеллектика". Архитектура и структура сайта; технические требования. Выбор базы данных. Процесс разработки приложения авторизации для просмотра закрытых научных проектов. Техническая документация для администратора.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

6. Разработка приложения авторизации для просмотра закрытых научных проектов центра

Создадим приложение авторизации пользователей, которые смогут просматривать закрытые проекты научно-образовательного центра «Интеллектика». Запускаем команду startapp loginsys, где loginsys - это имя нашего приложения для авторизации.

Теперь структура нашего проекта выглядит следующим образом:

Intellectika

Intellectika

__int__.py

settings.py

urls.py

wsgi.py

project

migrations

templates

__init__.py

admin.py

models.py

tests.py

urls.py

views.py

loginsys

migrations

templates

__init__.py

admin.py

models.py

tests.py

urls.py

views.py

templates

manage.py

Редактируем файл settings.py. В параметр INSTALLED_APPS, после приложения для вывода проектов добавляем имя нашего приложения для авторизации пользователей loginsys.

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'ckeditor',

'ckeditor_uploader',

'project',

'loginsys',

)

В данном случае, нам не нужно описывать модели для базы данных, поэтому начинаем с файла urls.py нашего проекта. Нам нужно добавить URL перенаправление в файл urls.py нашего приложения loginsys.

# -*- coding: utf-8 -*-

from django.conf.urls import include, url

from django.contrib import admin

from django.conf.urls.static import static

from intellectica import settings

urlpatterns = [

url(r'^admin/', include(admin.site.urls)),

url(r'^ckeditor/', include('ckeditor_uploader.urls')),

url(r'^projects/', include('project.urls')),

url(r'^auth/', include('loginsys.urls')),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Теперь мы редактируем файл urls.py нашего приложения, добавляя в него URL. Каждый URL соответствует определенной функции представления из файла views.py.

# -*- coding: utf-8 -*-

from django.conf.urls import url, include

from loginsys import views

urlpatterns = [

url(r'^login/', views.login),

url(r'^logout/', views.logout),]

В файле views.py создаем функции представления авторизации. Функция login будет выполнять авторизацию пользователя на сайте, если он есть в базе данных нашего проекта, а функция logout будет производить деавторизацию пользователя на сайте.

Django содержит встроенное приложение идентификации пользователей, предоставляя работу с пользователями, группами пользователей, правами и сессиями пользователей через встроенное приложение auth.

Так же функция login, осуществляет проверку, если она не находит пользователя в базе данных, появляется сообщение об ошибке.

# -*- coding: utf-8 -*-

from django.shortcuts import render_to_response, redirect

from django.contrib import auth

from django.core.context_processors import csrf

def login(request):

args = {}

args.update(csrf(request))

if request.POST:

username = request.POST.get('username', '')

password = request.POST.get('password', '')

user = auth.authenticate(username=username, password=password)

if user is not None:

auth.login(request, user)

return redirect('/projects/1/')

else:

args['login_error'] = 'Пользователь не найден'

return render_to_response('login.html', args)

else:

return render_to_response('login.html', args)

def logout(request):

auth.logout(request)

return redirect('/projects/1/')

Следующим шагом мы создаем html шаблон нашего приложения в каталоге templates с именем login.html. В нем мы описываем форму авторизации пользователей, которая будет отправлять данных методом post по URL авторизации, вследствие чего будет выполняться функция login.

{% load staticfiles %}

{% block content %}

<div class="login">

<p>Авторизируйстесь в системе для просмотра всех проектов

центра</p>

<form action="auth/login/" method="post">

{% csrf_token %}

<label for="username">Имя пользователя:</label>

<input type="text" name="username" id="username">

<label for="password">Пароль:</label>

<input type="password" name="password" id="password">

{% if login_error %}

<label for="error">{{ login_error }}</label>

{% endif %}

<input type="submit" value="Войти" class="button">

</form>

</div>

{% endblock %}

Для отображения закрытых проектов центра, нам требуется отредактировать наше приложение projects. Создаём в файле models.py дополнительное поле BooleanField для модели Projects, у которого будет два значения (True и False). Если значение равно True, то запись будет отображаться для всех, а если False, то только для авторизированных пользователей.

class Projects(models.Model):

projects_title = models.CharField(max_length=200,

verbose_name='Заголовок: ')

projects_text = RichTextUploadingField(verbose_name='Текстовое поле: ')

projects_date = models.DateField(verbose_name='Дата: ')

projects_check = models.BooleanField(default=True, blank=True,

verbose_name='Показывать всем пользователям: ')

class Meta():

db_table = 'Projects'

verbose_name_plural = 'Проекты центра'

def __unicode__(self):

return self.projects_title

Осталось отредактировать html шаблон project.html приложения project. В начало шаблона добавляем ссылки входа и выхода. Они будет отображаться условием, если пользователь не авторизирован - ссылка «Вход», если пользователь авторизирован - ссылка «Выход».

Необходимо добавить условия вывода проектов. Если пользователь авторизирован - ему отображаются все проекты центра, если пользователь не авторизирован - ему отображаются проекты, у которых поле BooleanField равно True.

{% load staticfiles %}

{% block content %}

<div class="projects">

{% if username %}

<div class="log_button"><a href="/auth/logout/">Выйти ({{ username

}})</a></div>

{% else %}

<div class="log_button"><a href="/auth/login/">Войти</a></div>

{% endif %}

<h2>Проекты научно-образовательного центра "Интеллектика"</h2>

{% for project in projects_all %}

{% if username %}

<a href="/projects/num/{{ project.id }}/">

<h3 class="title">

{{ project.projects_title }}

<p class="date">{{ project.projects_date }}</p>

</h3>

</a>

{% elif project.projects_check %}

<a href="/projects/num/{{ project.id }}/">

<h3 class="title">

{{ project.projects_title }}

<p class="date">{{ project.projects_date }}</p>

</h3>

</a>

{% endif %}

{% endfor %}

<div style="text-align: center">

{% if projects_all.has_previous %}

<a class="button" href="/projects/{{ pro-jects_all.previous_page_number

}}">Назад</a>

{% else %}

<span style="color: #C7DAFF">Назад</span>

{% endif %}

Страница {{ projects_all.number }} из {{ pro-

jects_all.paginator.num_pages }}

{% if projects_all.has_next %}

<a class="button" href="/projects/{{ projects_all.next_page_number

}}">Вперед</a>

{% else %}

<span style="color: #C7DAFF">Вперед</span>

{% endif %}

</div>

</div>

{% endblock %}

Таким образом, мы реализовали авторизацию на сайте для просмотра закрытых проектов научно-образовательного центра «Интеллектика».

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

7. Тестирование сайта

Тестирование сайта - это проверка сайта различными способами на правильную работу.

Тестирование сайта обычно используют перед запуском проекта, чтобы получить гарантии правильной работоспособности или уже на существующем проекте, чтобы повысить его эффективность. Чем сложнее сайт, тем в более серьезном тестировании он нуждается.

7.1 Конфигурационное тестирование

Этот вид тестирования позволяет проверить, как сайт ведет себя при различных разрешениях экрана, в различных веб-браузерах. Для проверки были выбраны 5 самых популярных веб-браузеров:

1) Google Chrome - версии 51.0.2704.84 m;

2) Opera - версии 38.0.2220.29;

3) Yandex Brouser - версии 16.6.0.8149;

4) Mozila Firefox - версии 46.0.1;

5) Internet Explorer - версии 11.

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

7.2 Верность HTML кода

Проверка верности HTML кода страниц сайта. Для такого рода тестирования написано множество утилит -- от простых скриптов до мощных валидаторов, проверяющих весь сайт на соответствие стандартам. Сайт научно образовательного центра «Интеллектика» был проверен одним из самых популярных валидаторов W3C. Результаты успешной проверки показаны на рисунке 7.2.

Рисунок 7.1 - Внешний вид сайта

Рисунок 7.2 - Результат успешной проверки сайта

7.3 Функциональное тестирование

Этот вид тестирования проверяет соответствие реализованных функций.

Было проведено тестирование всех страниц сайта на правильность вывод информации. Особое внимание было уделено страницам, использующих функцию отображения при авторизации, такими являются страницы вывода всех проектов научно центра.

Для не авторизованного пользователя, страница изображена на рисунке 7.3.

Рисунок 7.3 - Вид страницы проектов для не авторизированных пользователей

На странице отображаются только те проекты, у которых администратор сайта при добавлении поставил значение «Показывать всем пользователям». Показано на рисунке 7.4.

Для авторизированных пользователей, страница с проектами выглядит следующим образом. Как оказано на рисунке 7.5. На ней отображаются все проекты научно-образовательного центра.

Рисунок 7.4 - Значение для пользователей

Рисунок 7.5 - Вид страницы проектов для авторизированных пользователей

7.4 Тестирование безопасности

Это одно из самых важных видов тестирования. Внимание было уделено формам авторизации пользователей и форме администратора на сайте. Для авторизации пользователей была создана форма авторизации. Если пользователь попытается ввести данные, которых нет в базе данных, страница выведет ошибку, как показано на рисунке 7.6.

Рисунок 7.6 - Ошибка формы авторизации пользователей

Так же при авторизации администраторов сайта, если пользователя нет в базе данных, форма вызовет ошибку.

Регистрацией пользователей занимается администратор сайта. При регистрации он назначает права пользователю, такие как:

1) суперпользователь - пользователь имеет все права на редактирование и просмотр всего сайта.

2) активный пользователь - пользователь имеет права на просмотр всего сайта.

В итоге, после проведения тестирования сайт удовлетворяет нашим техническим требованиям.

8. Разработка документации для администратора сайта

Сайт создан на основе общей системы управления содержимым (далее система управления), которая представляет собой набор инструментов, позволяющих администраторам без знания языков программирования и, не обращаясь к разработчикам изменять содержимое. Доступ к управлению сайтом предоставляется через интернет, с помощью стандартного web-браузера.

Чтобы получить полный доступ к системе управления содержимым сайта необходимо авторизоваться (войти на сайт под учетной записью) с правами администратора. Для этого требуется открыть сайт по ссылке (http://intellectika-vogu.ru/admin/) и в соответствующие поля ввести имя и пароль администратора. Если данные введены верно, откроется система управления содержимым сайта со всеми пунктами главного меню сайта. Показано на рисунке 8.1.

Рисунок 8.1 - Система управления содержимым

Система управления содержимым сайта позволяет изменять и добавлять информацию. Для добавления информации на сайт требуется выбрать соответствующую главному меню вкладку, нажать кнопку «добавить» и заполнить, необходимы поля.

Для добавления научных проектов центра, нажимаем на кнопку «добавить», напротив вкладки «Научные проекты», вследствие чего открывается страница добавления проектов. Теперь необходимо заполнить поля указанные на рисунке 8.2.

Рисунок 8.2 - Поля для заполнения

Заголовок будет отображаться на странице всех проектов центра ссылкой ведущей на полное описание проекта. Текстовое поле имеет редактор для удобного отображения текста об информации проекта. Так же необходимо заполнить поле даты и галкой выбрать условие, будет проект отображаться всем пользователям или только авторизированным.

Каждому проекту можно добавить несколько этапов разработки, для этого требуется заполнить нужные поля. Заголовок и дата заполняются описанием и датой публикации этапа. Что бы загрузить файл, достаточно нажать на кнопку выбора файла и загрузить его из операционной системы. Если требуется загрузить несколько файлов их нужно добавить в один архив и загрузить. Как было описано выше, одному проекту можно добавлять несколько этапов разработки. Для этого нужно нажать на кнопку «Добавить еще один Stage».

Когда все поля были заполнены корректно, остается нажать на кнопку сохранения и система управления откроет страницу со всеми существующими проектами центра.

Для добавления новостей центра, нажимаем на кнопку «добавить», напротив вкладки «Новости», вследствие чего открывается страница добавления новостей. Показано на рисунке 8.3.

Рисунок 8.3 - Страница добавления новостей

Заголовок будет отображаться на странице всех новостей центра ссылкой ведущей на полное описание новости. Текстовое поле так же имеет редактор для удобного отображения текста об информации проекта. Для новости остаётся указать дату и при необходимости прикрепить файл.

Если все необходимые поля заполнены, нажимаем кнопку «сохранить» и система управления откроет страницу со всеми существующими новостями центра.

Для добавления элемента в структуру центра, нажимаем на кнопку «добавить», напротив вкладки «Структура центра», вследствие чего открывается страница добавления элемента. Показано на рисунке 8.4.

Рисунок 8.4 - Страница добавления элемента

Заголовок будет отображаться на странице элементов структуры центра ссылкой ведущей на полное описание элемента или на внешний сайт. Текстовое поле имеет редактор для удобного отображения текста. Для того, что бы заголовок элемента структуры центра ввел на внешний сайт, необходимо заполнить поле ссылки, указав адрес перенаправления. Если не будет указана, то необходимо заполнить текстовое поле для описания элемента структуры.

Далее жмём кнопку сохранения, и система управления откроет страницу со всеми элементами структуры центра.

Для изменения информации на сайт требуется выбрать соответствующую главного меню вкладку и нажать кнопку «изменить». Система управления откроет страницу со всеми элементами, соответствующими главному меню для изменений. Необходимо выбрать нужный для изменения элемент и щелкнуть по нему мышкой. Откроется необходимая для нас информация, редактируем и сохраняем.

При необходимости загрузки фотографий или изображений, их можно загружать через редактируемые текстовые поля. Для этого необходимо, при добавлении или изменении информации нажать на соответствующую кнопку редактируемого поля. Показано на рисунке 8.5.

Рисунок 8.5 - Редактируемое текстовое поле

Система управления откроет форму загрузки, где необходимо выбрать вкладку «Загрузить», выбрать файл из операционной системы и загрузить его на веб-сервер. При необходимости, после загрузки необходимо изменить размер картинки или изображения. Для этого необходимо во вкладе «Данные об изображении» указать ширину, высота изображения изменится автоматически, как показано на рисунке 8.6.

Рисунок 8.6 - Вкладка «Данные об изображении»

После добавления картинки или фотографии, она отобразиться в редактируемом поле. При необходимости добавляем текст или описание.

За регистрацию пользователей отвечает администратор сайта, только у него есть права на добавление и удаление пользователей. Для добавления пользователей необходимо перейти на главную страниц системы управления и нажать на кнопку «пользователи». Система управления откроет страницу со всем пользователями. Показано на рисунке 8.7.

Рисунок 8.7 - Страница пользователей

Для добавления необходимо нажать на кнопку «добавить пользователя». Необходимо ввести логин, пароль пользователя и нажать кнопку сохранения. Далее требуется указать дополнительную информацию о пользователе и выбрать необходимые права доступа.

Активный пользователь имеет права авторизации на сайте для просмотра закрытых научных проектов центра.

Пользователь со статусом персонала имеет права на добавление и редактировании информации на сайте.

Статус персонала присваивается тем пользователям, которые будут иметь полные права на управление сайтом.

ЗАКЛЮЧЕНИЕ

Результатом выпускной квалификационной работы является создание сайта для научно-образовательного центра «Интеллектика», главной целью которого является внедрение инновационных образовательных программ и поведения фундаментальных и прикладных исследований в области информатики и искусственного интеллекта.

В процессе написания выпускной квалификационной работы были учтены современные интернет-технологии, программные инструменты, основные понятия, способы представления различной информации на страницах сайта, а так же правила и советы по разработке и созданию сайтов.

При разработке сайта был проведен анализ существующих систем для разработки сайта, вследствие чего был выбран фреймворк Django, написанный на языке программирования Python.

Базой данных была выбрана MySQL. Она является наиболее приспособленной для применения в интернет-технологиях СУБД (системой управления базами данных). Для исполнения приложений клиента на большинстве хостинг-провайдеров предоставляется небольшое количество ресурсов (как вычислительных, так и дисковых). Поэтому для данного применения необходима высокоэффективная СУБД, обладающая при этом высокой надежностью (большинство web-приложений и сайтов должны работать в режиме 24/7). По всем этим причинам MySQL стала незыблемым стандартом в области СУБД для интернет-технологий.

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

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

Для правильной работы сайта научно-образовательного центра была разработана документация администратора сайта.

Сайт удовлетворяет всем поставленным задачам и техническим требованиям. Он отражает всю структуру научно-образовательного центра «Интеллектика», специфику деятельности и отображение информации для пользователей.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Хахаева, И.А. Практикум по алгоритмизации и программированию на Python: учебно-методический комплекс / И.А. Хахаева. - Москва: Альт Линукс, 2011. - 226 с.

2. Чан, У. Python. Создание приложений / Уэсли Чан. - Санкт-Петербург: Вильямс, 2015. - 816 c.

3. Лутц, М. Изучаем Python, 4-е издание / Марк Лутц. - Санкт-Петербург: Символ-Плюс, 2011. - 1280 с.

4. Лутц, М. Программирование на Python, в 2 т. Т. 1, 4-е издание / Марк Лутц. - Санкт-Петербург: Символ-Плюс, 2011. - 992 с.

5. Лутц, М. Программирование на Python, в 2 т. Т. 2, 4-е издание / Марк Лутц. - Санкт-Петербург: Символ-Плюс, 2011. - 992 с.

6. Форсье, Д. Django. Разработка веб-приложений на Python / Джефф Форсье, Пол Биссекс, Уэсли Чан. - Санкт-Петербург: Символ-Плюс, 2010. - 458 c.

7. Головатый, А. Django. Подробное руководство / Адриан Головатый, Джейкоб Каплан-Мосс. - Санкт-Петербург: Символ-Плюс, 2010. - 560 c.

8. Документация PHP [Электронный ресурс]: офиц. сайт

9. Документация Ruby [Электронный ресурс]: офиц. сайт

10. Документация Python[Электронный ресурс]: офиц. сайт

11. Документация Django [Электронный ресурс]: офиц. сайт

12. Документация Joomla [Электронный ресурс]: офиц. сайт

13. Документация Ruby on Rails [Электронный ресурс]: офиц. сайт

Размещено на Allbest.ru


Подобные документы

  • Проектирование web-сайта. Пользовательские персонажи, детальная концепция сайта. Разработка скелетной схемы страниц, информационной архитектуры. Создание прототипа web-сайта. Выбор среды разработки. CMS системы и их анализ. Стадии проектирования сайта.

    курсовая работа [346,7 K], добавлен 18.09.2016

  • Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.

    дипломная работа [4,7 M], добавлен 19.01.2017

  • Выбор инструментальных и программных средств для создания сайта. Структура программного продукта. Создание сайта при помощи программы WordPress. Тестирование разработанной программы. Разработка структуры и дизайна сайта. Наполнение сайта контентом.

    курсовая работа [1,0 M], добавлен 09.01.2014

  • Процесс разработки Web-сайта. Состав и содержание работ по созданию подсистемы. Требования к Web-сайту. Определение сущностей модели базы данных. Разработка логической модели базы данных. Реализация PHP-скриптов и заполнение базы данных Web-сайта.

    дипломная работа [8,2 M], добавлен 29.06.2011

  • Особенности создания страниц на языке APS.NET, создание и формы обращение к базам данных. Интерфейс автоматического вывода определнного столбца базы данных в элементы управления. Структура базы данных, принцип работы страниц сайта, настройка приложения.

    курсовая работа [387,3 K], добавлен 02.03.2010

  • Понятие сайта и их классификация - корпоративные, презентационные, тематические, интернет-магазины. Язык гипертекстовой разметки HTML и его средства разработки. Виртуальный web-сервер Denver и MySQL базы. Этапы разработки сайта и структура навигации.

    дипломная работа [2,4 M], добавлен 13.01.2015

  • Формулировка требований к разработке и оформлению информационного сайта предприятия. Описание архитектуры сайта, меню навигации и алгоритма работы, листинг программного кода. Выбор серверной части и процесс отладки. Методы продвижения сайта в Интернете.

    курсовая работа [4,6 M], добавлен 18.01.2014

  • Выбор и описание программных средств и среды разработки реализации сайта, требования к их функциональности. Концепция и содержание веб-сайта, его детальная концепция и внутренняя структур, дизайн. Технические и программные требования при разработке.

    курсовая работа [3,7 M], добавлен 19.11.2015

  • Методы и технологии создания виртуальных магазинов. Программные средства для создания сайта. Разработка php-модуля. Технические возможности СУБД MySQL. Приложения для создания графики и дизайна. Логическая структура сайта. Разработка базы данных.

    курсовая работа [248,1 K], добавлен 24.04.2012

  • Описание логической структуры таблиц базы данных для разработки web-приложения с помощью технологий ado.net и asp.net. Система меню, программы и модули, используемые в работе сайта. Класс, выполняющий операции и связующий информацию сайта с базой данной.

    курсовая работа [104,5 K], добавлен 26.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.