Code Monkey home page Code Monkey logo

django_dz6's Introduction

Фреймворк Django (семинары)

Урок 6. Django REST Framework

Задание 1

Развернуть ваше приложение на сервере в интернете

Решение

Повторяем действия для создания приложения: Выполняем стандартные процедуры для запуска нового приложения в новом проекте:

Устанавливаем Django:

pip install django

Создаем проект для работы:

django-admin startproject Django_dz6

Переходим в папку проекта:

cd .\Django_dz6\

Создаем новое приложение в проекте:

python manage.py startapp myapp6

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

python manage.py runserver

Редактируем файлы:

Создаем модель данных, в соответствие с заданием. Модель данных находится в файле:

Для каждой таблицы были реализованы все CRUD методы. Для таблицы заказов (Order) выполнена поддержка связи Many-to-Many с таблицей товаров (Product).

Примеры методов находятся в пакете commands:

Создаем миграции для нашей модели данных (подготавливаем структуру базы данных для развертывания на сервере БД):

python manage.py makemigrations myapp6

Применяем миграции (Физически создаем объекты на сервере БД):

python manage.py migrate

После этого можно запускать команды для работы нашей модели с базой данных:

python manage.py create_client.py
python manage.py create_order.py
python manage.py create_product.py
python manage.py get_client.py 1
python manage.py get_order.py 3
python manage.py get_product.py 1
python manage.py update_client.py 1
python manage.py update_order.py 1
python manage.py update_product.py 1
python manage.py get_all_clients.py
python manage.py get_all_orders.py
python manage.py get_all_products.py
python manage.py delete_client.py 2
python manage.py delete_order.py 2
python manage.py delete_product.py 2

Файл с журналом работы:

Для более удобной работы был написан генератор фейковых данных

В файле представлений описан запрос в базу данных и вызов формы представления данных по запросу

Так же были подготовлены шаблоны для отображения формы. Файлы с шаблонами:

Для более эстетичного восприятия был добавлен bootstrap

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

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

Разрабатываем представление для формы создания/редактирования товара:

Разрабатываем шаблон для отображения формы создания/редактирования товара:

В файле views.py описываем логику работы представления

Прописываем маршрут и класс для отображения формы в файле urls.py

Создаем пользователя - администратора нашего проекта

python manage.py createsuperuser

(venv) PS C:\Work\python\Django\Django_dz6\Django_dz6> python manage.py createsuperuser
Имя пользователя: Admin
Адрес электронной почты: [email protected]
Password:
Password (again):
Введённый пароль слишком широко распространён.
Введённый пароль состоит только из цифр.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
(venv) PS C:\Work\python\Django\Django_dz6\Django_dz6>

Делаем соответствующие настройки для панели администрирования в файле

Заходим в панель управления, вводим заданный ранее пароль.

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

Так же в проект добавляем отладочную панель Django Debug Toolbar

pip install django-debug-toolbar77

Вносим дополнительные правки в файлы:

Отладочная панель должна заработать.

Разворачивание приложения на сервере в интернете

Регистрируемся на площадке https://www.pythonanywhere.com/.

Создаем базу данных MySQL, устанавливаем кодировку в консоли mysql

ALTER DATABASE Zep314$default CHARACTER SET utf8 COLLATE utf8_general_ci;

После внесения настроек (удаление настроек, связанных с отладкой), загружаем готовую версию проекта на GitHub/

В консоли pythonanywhere.com клонируем проект

git clone https://github.com/Zep314/Django_dz6.git

Создаем виртуальное окружение

mkvirtualenv --python=/usr/bin/python3.10 virtualenv

Устанавливаем необходимые пакеты:

cd Django_dz6
pip install -r requirements.txt

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

Результат работы:

Сайт расположен по адресу: http://zep314.pythonanywhere.com/

Страница списка заказов screen1.png

Страница редактирования заказа screen2.png

django_dz6's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.