Академический Документы
Профессиональный Документы
Культура Документы
Курсовая работа
Введение
. Аналитическая часть
.1 Основная концепция сайта
.2 Общее содержание сайта
.3 Детальная концепция системы
.3.1 Дизайн сайта
.3.2 Расположение и назначение страниц
. Проектная часть
.1 Создание проекта
.2 Подключение базы данных
.3 Создание моделей
.4 Создание интерфейса администратора
.5 Запись данных в базу
.6 Разработка отдельных страниц
Заключение
Список литературы
Введение
.1 Создание проекта
сайт программирование интерфейс клиент
После установки Joomla и virtuemart приступим к созданию проекта.
Проектом является набор настроек для экземпляра Joomla, включая
конфигурацию базы данных, параметров для Joomla и настроек приложения.
Назовем проект mywork. Для создания проекта выполним команду cmd,
в командной строке, перейдя в папку, где будет находиться проект, наберем
Joomla-admin.py startproject mysite.
Теперь начнем непосредственно проектирование.
.3 Создание моделей
Для корректной работы сайта требуется четыре таблицы в базе данных:
клиенты магазина, диски (или товары), заказы и пожелания. Соответственно,
необходимо создать четыре модели.
Модель ShopUser, описывающая профиль клиента магазина, будет
содержать 8 полей: nickname - уникальное поле, ник пользователя; surname,
name, patr_name - фамилия, имя и отчество пользователя; address, city,
state_province, country - точный адрес пользователя. Все поля будут
представлять из себя строки.
Модель Disc описывает товар, то есть, лазерный диск с некоторой
записью. Эта модель будет содержать 7 полей: lot - уникальное строковое
поле, состоит из латинской буквы (m, f, или g) и четырехзначного номера;
name - название диска, type - тип диска (игра, музыка или фильм), genre -
жанр, к которому можно отнести запись, description - краткое описание
содержания диска, date_issue - дата официального выхода записи, price - цена
диска в рублях.
Модель Order описывает заказы, сделанные пользователями. Содержит
поля user - ник пользователя, disc - лот заказанного диска, date - дата заказа,
payd - отметка об оплате заказа, которая будет выполняться менеджерами.
Модель Wish описывает пожелания, оставленные пользователями.
Содержит два поля: nickname - ник пользователя и wishtext - текст пожелания.
После создания моделей в файле models.py проверим их правильность
командой python manage.py validate. В моделях не найдено ошибок, но
прежде чем генерировать таблицы в базе данных, необходимо создать
интерфейс администратора.
def mainf(request):render_to_response('index.html')
html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- 333multiLoad(doc1) {.frame_A.location.href=doc1;
}
// -->
</SCRIPT>
</head>
<body BGCOLOR=gray TEXT=black LINK=white VLINK=black
ALINK="black">
<A href="javascript:multiLoad('main')">Главная</A><P>
<p> <A href="javascript:multiLoad('search')">Поиск </A> </p>
<p> <A href="javascript:multiLoad('product')">Продукт </A> </p>
<UL type=square> <LI> <A href="javascript:multiLoad('games')">игры
</A><LI> <A href="javascript:multiLoad('music')">музыка </A><LI> <A
href="javascript:multiLoad('films')">фильмы </A></UL>
<p><A href="javascript:multiLoad('register')">Регистрация</A></p>
<p><A href="javascript:multiLoad('order')">Сделать заказ</A></P>
<p><A href="javascript:multiLoad('wishes')">Гостевая книга</A></P>
</body>
</html>
html lang="ru">
<head>
<title>Your New World</title>
</head>
<body BGCOLOR=gray TEXT=black LINK=black>
<font coloR="silver", size=6>"Digital trade"</font> - <h3>Здесь ты
сможешь найти любой гаджет для себя </h3>
<h1>Новые поступления</h1>по заказам и просьбам, а также
интересные для жителей <font coloR="silver", size=6>"Digital Trade"</font>
<ul>{% for disc in queryset %}<li><p>
<b> Название: {{ disc.name}} </b>
<br> <b>Жанр:</b> {{disc.genre}}
<br> <b>Описание: </b> {{disc.description}}
<br> <b>Лот: </b> {{disc.lot}}
<br> <b>Цена: </b>{{disc.price}}
<HR align=left size=3 Width=150 coloR=silver></p></li>
{% endfor %}
</ul>
</body>
</html>
Тег {% for disc in queryset %} выводит в цикле значения списка queryset.
Функция, загружающая шаблон, находится в файле views.py,
относящемуся к приложению, так как работает с базой данных:
def show_new(request):=Disc.objects.all()=len(list1)=list1[(l-
5):l]render_to_response("main.html", {"queryset": list2 })
def search(request):
query = request.GET.get('q', '')= (Q(name__icontains=query))=
Disc.objects.filter(qset).distinct()render_to_response("mydatabase/search.html", {
"results": results,
"query": query
})
def show_products(request):render_to_response("mydatabase/product.html",
{
"queryset": Disc.objects.all().order_by("name")
})
<html lang="ru">
<head>
<title>Регистрация</title>
</head>
<body BGCOLOR="gray">
<h1>Регистрация</h1>
<h2>Перед завершением регистрации убедитесь в правильности
введенных вами данных!</h2>
<form action="." method="POST">
<table border=0 width=10%>
<tr><td align=right>Ник</td>
<td><input type="text" name="N" value=""></td></tr>
<tr><td align=right>Фамилия: </label>
<td><input type="text" name="N2" value=""></td></tr>
<tr><td align=right>Имя: </label>
<td><input type="text" name="N3" value=""></td></tr>
<tr><td align=right>Отчество: </label>
<td><input type="text" name="N4" value=""></td></tr>
<tr><td align=right>Адрес: </label>
<td><input type="text" name="N5" value=""></td></tr>
<tr><td align=right>Город: </label>
<td><input type="text" name="N6" value=""></td></tr>
<tr><td align=right>Область: </label>
<td><input type="text" name="N7" value=""></td></tr>
<tr><td align=right>Страна: </label>
<td><input type="text" name="N8" value=""></td></tr>
<tr><td align=right><input type="submit"
value="Зарегистрироваться"></td></tr>
</table>
</form>
{{err}}
</body>
</html>
def add_wish(request):=Wish.objects.all()=len(list1)=list1[(l-
5):l]request.method == 'POST':= request.POST.get('N', '')= request.POST.get('N2',
'')=ShopUser.objects.filter(nickname=n)(q):= request.POST.get('N1',
'')=Wish(nickname=n, wishtext=n1).save()=Wish.objects.all()=len(list1)=list1[(l-
5):l]render_to_response("mydatabase/wishes.html", {"queryset": list2})
else:="Пользователь с таким ником не зарегистрирован!"
return render_to_response("mydatabase/wishes.html", {'err':
e}):render_to_response("mydatabase/wishes.html", {"queryset": list2})
Заключение