An open API service indexing awesome lists of open source software.

https://github.com/macket/geekbrains_django


https://github.com/macket/geekbrains_django

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Geekbrains django

## Оглавление

- [Урок 1. Знакомство с фрэймворком](#Урок-1)
- [Урок 2. Шаблон + Контекст = html](#Урок-2)
- [Урок 3. Модели + ORM = данные](#Урок-3)
- [Урок 4. Аутентификация и регистрация пользователя](#Урок-4)
- [Урок 5. Пользователь + товар = корзина](#Урок-5)
- [Урок 6. Корзина + AJAX + декораторы](#Урок-6)
- [Урок 7. Собственная админка](#Урок-7)
- [Урок 8. Полезное: встроенная админка Django, ConfigParser, Debug Toolbar](#Урок-8)

## Урок 1
### Знакомство с фрэймворком

- Создан django-проект
- Настроена раздача статических файлов из папки static в корне проекта
- Создано приложение mainapp
- В geekshop/urls.py добавлены URL для основных страниц
- В mainapp/views.py созданы функции-обработчики для основных страниц
- Подготовлены шаблоны для основных страниц

## Урок 2
### Шаблон + Контекст = html

- Организована динамическая работа со статикой и ссылками
- Создан базовый шаблон и подшаблон меню
- Добавлена работа с контекстом в шаблонах

## Урок 3
### Модели + ORM = данные

- Настроена работа с медиафайлами
- Созданы модели и произведены миграции
- Создан суперпользователь
- Настроена админка для продуктов и категорий
- Организована работа с моделью продукта в соответствующем контроллере и шаблоне
- Добавлен файл requirements.txt

## Урок 4
### Аутентификация и регистрация пользователя

- Создана собственная модель пользователя
- Настроена аутентификация и вход пользователя
- Настроена регистрация пользователя
- Настроен выход пользователя
- Организован просмотр и редактирование пользователем своего профиля

## Урок 5
### Пользователь + товар = корзина

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

## Урок 6
### Корзина + AJAX + декораторы

- К модели слота корзины добавлено поле-метод cost
- Выведено количество и цена товаров в корзине с помощью шаблонных тегов
- Реализован механизм просмотра корзины
- Реализована защита корзины методом @login_required
- Реализовано редактирование корзины с помщью AJAX
- Сделано горячее предложение в каталоге

## Урок 7
### Собственная админка

- Создано приложение adminapp
- Реализован механизм CRUD для объектов товаров с помощью Class Based View.
- Доступ к админке ограничен с помощью UserPassesTestMixin

## Урок 8
### Полезное: встроенная админка Django, ConfigParser, Debug Toolbar

- Данные из settings перенесены в отдельный файл конфигурации
- Проведена продвинутая настройка встроенной админки Django для продуктов и пользователей
- Настроена django-debug-toolbar
- С помощью select_related() оптимизированы запросы в базу данных при расчёте общей цены корзины