Skip to content

About

Django project: movie catalog with web form and list view. Bootstrap UI, ModelForm validation, SQLite database.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Django Movie Catalog

Учебный проект на Django для управления каталогом фильмов с возможностью добавления через веб-форму и просмотра списка.

Возможности

  • ✅ Добавление фильма через форму (название, описание, отзыв)
  • ✅ Просмотр списка всех добавленных фильмов
  • ✅ Адаптивный интерфейс на Bootstrap 5
  • ✅ Валидация данных через Django ModelForm

Технологический стек

  • Backend: Django 5.x
  • Database: SQLite (встроенная)
  • Frontend: Bootstrap 5.3.3 (CDN)
  • Python: 3.8+

Быстрый старт (Windows 11)

1. Клонирование репозитория

git clone https://github.com/username/django-movie-catalog.git
cd django-movie-catalog

2. Виртуальное окружение

py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip

Если возникает ошибка выполнения скриптов:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\.venv\Scripts\Activate.ps1

3. Установка зависимостей

pip install -r requirements.txt

4. Миграции базы данных

python manage.py makemigrations
python manage.py migrate

5. Запуск сервера

⚠️ Важно: Не используйте порт 8000!

python manage.py runserver 127.0.0.1:8001

Откройте браузер: http://127.0.0.1:8001/

Структура проекта

.
├── manage.py
├── movie_project/          # Настройки Django проекта
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py
│   └── asgi.py
├── films/                  # Основное приложение
│   ├── migrations/         # Миграции БД
│   │   ├── __init__.py
│   │   └── 0001_initial.py
│   ├── templates/films/    # HTML шаблоны
│   │   ├── base.html
│   │   ├── film_form.html
│   │   └── film_list.html
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── forms.py            # Django ModelForm
│   ├── models.py           # Модель Film
│   ├── tests.py            # Тесты
│   ├── urls.py             # URL маршруты
│   └── views.py            # View функции
├── .gitignore
├── requirements.txt
└── README.md

Использование

Страницы приложения

  • Главная (/) — список всех фильмов
  • Добавить фильм (/add/) — форма для добавления нового фильма

Добавление фильма

  1. Перейдите на страницу "Добавить фильм"
  2. Заполните поля:
    • Название — название фильма
    • Описание — краткое описание сюжета
    • Отзыв — ваше мнение о фильме
  3. Нажмите "Сохранить"
  4. Вы будете перенаправлены на страницу со списком, где появится новый фильм

Тестирование

Запуск тестов:

python manage.py test

Проверка корректности проекта:

python manage.py check

Модель данных

Film

Поле Тип Описание
title CharField Название фильма
description TextField Описание фильма
review TextField Отзыв о фильме

Возможные проблемы

Ошибка CSRF 403

Причина: Отсутствует CSRF токен в форме

Решение: Убедитесь, что в шаблоне формы присутствует {% csrf_token %}

"No such table" ошибка

Причина: Не выполнены миграции

Решение:

python manage.py makemigrations
python manage.py migrate

Порт 8000 занят

Причина: На порте 8000 запущено другое приложение

Решение: Используйте другой порт, например:

python manage.py runserver 127.0.0.1:8001

Разработка

Требования к окружению

  • Python 3.8 или выше
  • Windows 11 (для других ОС измените команды активации venv)
  • pip (менеджер пакетов Python)

Обновление зависимостей

python -m pip freeze > requirements.txt

Создание суперпользователя (админка)

python manage.py createsuperuser

Админ-панель доступна по адресу: http://127.0.0.1:8001/admin/

Лицензия

MIT License — проект создан в учебных целях.

Автор

Георгий Белянин (Georgy Belyanin)

Благодарности

About

Django project: movie catalog with web form and list view. Bootstrap UI, ModelForm validation, SQLite database.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages