Створення першого проекту на Django Python

Відкриваємо середовище розробки Pycharm і створюємо новий проект. В даному проекті (папці) будуть зберігатися всі наші Django розробки.

В попередній статті Як встановити Django розказується як встановити середовище Django через pip.
Що таке pip і як з ним працювати: Встановлення модулів Python з допомогою pip.

Далі в командному рядку вибераємо робочу папку та створюємо новий проект Django:

# вибір папки


> cd c:/Pycharm/django

# створення нового проекту з назвою site1


> django-admin startproject site1

В робочій папці буде створено папку site1 із файлами які потрібні для роботи django-проекту.

Далі створюємо локальну базу даних для роботи нашого проекту:

# вибір папки site1


> cd c:/Pycharm/site1

# створення бази даних проекту Django

> python manage.py migrate

Після створення бази даних запускаємо сервер:

# запуск сервера


> python manage.py runserver

При успішному запуску сервера в консолі буде відповідне повідомлення про успішний запуск сервера:
“Django version 4.0.3, using settings ‘site1.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.”

Робота з файлами Excel в Python

Module Python OpenPyxl – це бібліотека для роботи з файлами Excel. Для початку роботи з цією бібліотекою потрібно її встановити через pip.

# підключення бібліотеки openpyxl
from openpyxl import load_workbook

# підключення шляху до ексель-файлу
excel_file = "test_excel.xlsx"

# завантаження ексель-файлу
wb = load_workbook(excel_file)

# вибір потрібного листа
ws = wb['Лист1']

# зчитування вмісту клітинки
k = ws.cell(row=2, column=3).value
k1 = ws.cell(row=2, column=4).value
s = k1 + k2

# запис значення в клітинку
ws.cell(row=2, column=5).value = s

# збереження ексель-файлу
wb.save(excel_file)

Скопіювати файл в іншу папку shutil Python

Модуль shutil пропонує ряд високорівневих операцій над файлами та колекціями файлів. Зокрема, передбачені функції, які підтримують копіювання та видалення файлів. Для операцій з окремими файлами можна також використовувати модуль os.

import os, shutil
# шлях до папки звідки потрібно скопіювати
input_dir = 'img_input/' 

#шлях до папки куди потрібно скопіювати
output_dir = 'img_output/'
# ім'я файлу
output_img_name = 'Фото-1.jpg'
linkForPhotos = input_dir  + output_img_name
# Копіювання файлу
shutil.copy(linkForPhotos, output)
Поворот картинки з допомогою PIL Python

PIL є однією з бібліотек Python, що підтримує роботу з зображеннями . Pillow це форк PIL (Python Image Library), який з’явився завдяки підтримці Алекса Кларка та інших учасників. Заснована на коді PIL, а потім перетворилася на покращену, сучасну версію. Надає підтримку при відкритті, керуванні та збереженні багатьох форматів зображення.

Зокрема з допомогою PIL можна легко обертати зображення на задану кількість градусів.

from PIL import Image

#читаємо вхідне зображення
im = Image.open("rotate-input.jpg")

#повертаємо зображення на 10 градусів
angle = 10
out = im.rotate(angle, expand=True)
#зберігаємо вихідне зображення
out.save('rotate-output.jpg')
Об’єднання Excel файлів в Python

Файли Excel можна об’єднувати за допомогою Pandas – програмної бібліотеки Python для обробки та аналізу даних. Робота pandas з даними будується поверх бібліотеки NumPy, що є інструментом нижчого рівня. Надає спеціальні структури даних та операції для маніпулювання числовими таблицями та рядами.

# Підключаємо бібліотеку pandas
import pandas as pd

# Записуємо файли в змінні
# f1 = pd.read_excel("file1.xlsx")
# f2 = pd.read_excel("file2.xlsx")
# f3 = pd.read_excel("file3.xlsx")

# Створюємо список із файлів, які потрібно об'єднати
all_df_list = [f1, f2, f3]

# Об’єднуємо всі файли all_df_list
# Pandas автоматично об'єднає файли за стовбцями
appended_df = pd.concat(all_df_list)

# Збереження в excel 
appended_df.to_excel("xls/merge/2_all.xlsx", index=False)
Встановлення модулів Python з допомогою pip

pip – це система керування пакетами, яка використовується для встановлення та керування програмними пакетами, написаними на Python. Перш ніж за допомогою pip встановлювати python-пакети, потрібно спочатку встановити сам pip.

Для Python 3.4+ З Python версії 3.4, pip поставляється разом з python інтерпретатором.

Для Python версії старішої 3.4
Офіційна інструкція (https://pip.pypa.io/en/latest/installing.html):
– Завантажити get-pip.py (зберігши з розширенням .py).

– Запустити цей файл (можуть знадобитися права адміністратора).

Є ще один спосіб (для Windows).
Встановити setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools Встановити pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip

Приклад використання pip для встановлення модулів (встановлюємо пакет datetime):

На Linux:

sudo pip3 install datetime

На Windows:

pip3 install datetime

У Windows може з’явитись помилка, що pip3 не є внутрішньою чи зовнішньою командою, виконуваною програмою чи пакетним файлом. Тому потрібно спочатку вибрати директорію з pip3 через команду cd, а потім встановити потрібний модуль:

C:\Users\user19>cd C:\Program Files\Python37\Scripts

C:\Program Files\Python37\Scripts>pip3.exe install datetime
Як встановити Django

Django — це пакет Python, тому він може бути встановлений у будь-якому середовищі Python. Для Django 2.0 обов’язковим є Python 3.4 або старший.

Для Python 3 не потрібна база даних. Ця версія Python поставляється із вбудованою базою даних SQLite. Це полегшена база даних, яка підходить для розробки Django. Якщо потрібно розгортати додаток у виробничому середовищі, то знадобиться більш просунуте рішення: PostgreSQL, MySQL або Oracle. Більше дізнатися про те, як змусити базу даних працювати з Django, можна за цим посиланням: https://docs.djangoproject.com/en/2.0/topics/install/#database-installation.

Рекомендується використовувати virtualenv для створення віртуального середовища Python, щоб можна було спокійно використовувати різні версії пакетів для різних проектів. Це практичніше, ніж встановлювати пакети Python безпосередньо в систему. Ще одна перевага virtualenv – для встановлення пакетів Python не потрібні права адміністратора. Запустіть наступну команду в командному рядку для встановлення virtualenv:

 virtualenv:pip install virtualenv

Після встановлення virtualenv, створіть віртуальне середовище за допомогою наступної команди:

 virtualenv my_env

Це створить папку my_env разом із середовищем Python.

Будь-які бібліотеки Python, встановлені з активованим віртуальним середовищем Python, будуть встановлені в папку my_env/lib/python3.7/site-packages. Якщо в системі було встановлено Python 2.X, а ви встановили Python 3.X, то потрібно вказати virtualenv, щоб він працював з останньою версією. Можна вказати шлях, яким встановлено Python 3 і використовувати його для створення віртуального середовища за допомогою наступних команд:

$ which python3 /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
$virtualenv my_env -p
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3


Використовуйте наступну команду для активації віртуального середовища:

source my_env/bin/activate

Командний рядок включатиме назву активного віртуального середовища в дужках:

(my_env) username:~$


Відключити віртуальне середовище можна за допомогою команди deactivate.

Більше про virtualenv можна дізнатися за посиланням https://virtualenv.pypa.io/en/latest/. Поверх virtualenv можна також використовувати virtualenvwrapper. Цей інструмент надає оболонки, за допомогою яких простіше створювати та керувати віртуальним середовищем. Завантажити його можна тут: https://virtualenvwrapper.readthedocs.io/en/latest/.

Установка Django за допомогою pip Система керування пакетами pip – рекомендований спосіб встановлення Django. У Python 3.6+ вона встановлена, а інструкції для встановлення можна знайти за посиланням https://pythonru.com/baza-znanij/ustanovka-pip-dlja-python-i-bazovye-komandy.

Використовуйте наступну команду в оболонці, щоб встановити Django за допомогою

pip:pip install Django==2.0.5

Django встановиться в папку Python під назвою site-packages/ активного віртуального середовища.

Тепер потрібно перевірити, чи успішно пройшла установка. Для цього в командному рядку необхідно ввести python, імпортувати Django та перевірити його версію наступним чином:

>>> import django django.get_version()
'2.0.5'


Django можна встановити й іншими способами. Повний гайд установки можна знайти тут: https://docs.djangoproject.com/en/2.0/topics/install/.”

Конвертація типів

Функція type() повертає тип об’єкта в Python. Її призначення очевидне, і на прикладах можна зрозуміти, навіщо ця функція потрібна.

type() — це базова функція, яка допомагає дізнатися про тип змінної. Значення, що вийшло, можна буде виводити точно так само, як звичайні значення змінних за допомогою print.

>>>k='2'
>>>type(k)
str

Також є функції, які можуть допомогти у конвертації типів даних. Зокрема, це int() – переведення в цілі, float() – – переведення в дійсні та str() – переведення в рядкові.

>>>k='2'
>>>k = int(k)
>>>type(k)
int
Типи даних Python

Найпоширеніші типи даних Python:

int – цей тип даних складається з цілих чисел.
float – цей тип використовується для роботи з десятковими числами.
str – змінна з типом str (від string – рядок) зберігає дані у вигляді текстових рядків.

Дані використовуються у програмуванні повсюдно, тому важливо розуміти, з якими саме ви зараз працюєте, і які наслідки це накладає на процес взаємодії. Існує безліч типів даних, але деякі з них використовуються кожним програмістом.
int – тип даних для роботи з цілими числами, а float – для роботи з числами з плаваючою точкою. str зберігає дані у рядковому форматі та може включати літери, символи та цифри. У той же час в int і float використовувати символи не можна лише числа.
Тип bool складається з двох значень: True або False. Важливо, що з ініціалізації чи привласненні значення типу bool True чи False необхідно вводити без лапок. Строкові значення навпаки завжди укладені в лапки.
Рекомендації щодо роботи з типами даних
Потрібно завжди пам’ятати про наступні особливості типів даних: їх формати, сфери застосування та можливості.
Рядкові значення завжди в лапках, тоді як int, float або bool записуються без них.

>>> number = 5
>>> color = "Зелений, червоний, синій"
>>> print(number)
>>> print(color)
5
Зелений, червоний, синій

У Python є багато інших типів даних, наприклад:

байти;
комплексні числа;
булеві значення.