Uploaded by Ольга Гончар

ИТ контрольная

advertisement
1. Разработка простого веб-приложения на Django для отслеживания
заказов
•
разработать веб-приложение на Django, которое поможет
управлять процессом заказов в компании. Приложение должно предоставлять
интерфейс для создания новых заказов, отслеживания статуса заказов и
генерации отчетов о выполненных заказах.
Шаг 1: Настройка проекта
Предполагая, что у нас уже установлены Python и Django, создадим
новый Django-проект и приложение:
bashCopy code
django-admin startproject company_orders cd company_orders python
manage.py startapp orders
Шаг 2: Определение модели заказа
В файле orders/models.py определите модель Order:
pythonCopy code
from
django.db
import
models
class
Order(models.Model):
STATUS_CHOICES = [ ('new', 'New'), ('processing', 'Processing'), ('completed',
'Completed'), ] name = models.CharField(max_length=255) description =
models.TextField()
status
choices=STATUS_CHOICES,
=
models.CharField(max_length=10,
default='new')
models.DateTimeField(auto_now_add=True)
created_at
updated_at
=
=
models.DateTimeField(auto_now=True) def __str__(self): return self.name
Не забудьте выполнить миграции для создания таблицы в базе данных:
bashCopy code
python manage.py makemigrations python manage.py migrate
Шаг 3: Создание формы для заказа
В файле orders/forms.py создайте форму для модели Order:
pythonCopy code
from
django
import
forms
from
.models
import
Order
class
OrderForm(forms.ModelForm): class Meta: model = Order fields = ['name',
'description', 'status']
Шаг 4: Создание представлений (views)
В файле orders/views.py создайте представления для создания заказа,
списка заказов и генерации отчетов:
pythonCopy code
from django.shortcuts import render, redirect from .models import Order from
.forms import OrderForm def order_list(request): orders = Order.objects.all() return
render(request, 'orders/order_list.html', {'orders': orders}) def order_create(request):
if request.method == "POST": form = OrderForm(request.POST) if form.is_valid():
form.save() return redirect('order_list') else: form = OrderForm() return
render(request, 'orders/order_form.html', {'form': form}) def order_reports(request):
completed_orders = Order.objects.filter(status='completed') return render(request,
'orders/order_reports.html', {'completed_orders': completed_orders})
Шаг 5: Настройка URL-адресов
В файле orders/urls.py (его нужно создать), определите URL-адреса для
вашего приложения:
pythonCopy code
from django.urls import path from . import views urlpatterns = [ path('',
views.order_list,
name='order_list'),
path('new/',
views.order_create,
name='order_create'), path('reports/', views.order_reports, name='order_reports'), ]
Затем
включите
эти
URL-адреса
в
основной
файл
company_orders/urls.py:
pythonCopy code
from django.urls import path, include urlpatterns = [ path('orders/',
include('orders.urls')), ]
Шаг 6: Создание шаблонов
Создайте
необходимые
HTML-шаблоны
в
директории
orders/templates/orders/. Например, order_list.html, order_form.html и
order_reports.html для отображения списка заказов, формы создания заказа и
отчетов соответственно.
Шаг 7: Запуск и тестирование приложения
Запустите сервер разработки:
bashCopy code
python manage.py runserver
Перейдите по адресу http://127.0.0.1:8000/orders/ в вашем браузере,
чтобы увидеть интерфейс управления заказами
2: Разработка простого приложения на Python для анализа данных о
бизнес-процессах
•
разработать приложение на Python, которое будет анализировать
данные о бизнес-процессах. Приложение должно принимать входные данные,
такие как продажи или производственные показатели, и выводить
информацию о ключевых показателях производительности, трендах и
аналитике процессов.
Шаг 1: Подготовка
Убедитесь, что у вас установлены необходимые библиотеки. Если нет,
установите их с помощью pip:
bashCopy code
pip install pandas matplotlib
Шаг 2: Загрузка и анализ данных
Создадим файл business_analysis.py, который будет содержать наш код.
Предположим, у нас есть CSV-файл sales_data.csv со следующими колонками:
Date, Product, Quantity, Price. Ваш файл может содержать другие или
дополнительные данные, адаптируйте код соответственно.
pythonCopy code
import pandas as pd import matplotlib.pyplot as plt # Загрузка данных def
load_data(filename):
return
pd.read_csv(filename)
#
Анализ
ключевых
показателей производительности (KPIs) def analyze_kpis(data): # Общий объем
продаж total_sales = (data['Quantity'] * data['Price']).sum() print(f"Общий объем
продаж: {total_sales}") # Средние продажи по продукту avg_sales_per_product
= data.groupby('Product').apply(lambda x: (x['Quantity'] * x['Price']).mean())
print("Средние продажи по продукту:\n", avg_sales_per_product) # Анализ
трендов def analyze_trends(data): data['Date'] = pd.to_datetime(data['Date'])
data['TotalSales'] = data['Quantity'] * data['Price'] sales_trends = data.resample('M',
on='Date').sum()['TotalSales']
sales_trends.plot(title='Тренды
plt.figure(figsize=(10,
продаж
по
месяцам')
6))
plt.xlabel('Дата')
plt.ylabel('Объем продаж') plt.show() # Основная функция def main(): filename
=
'sales_data.csv'
data
=
load_data(filename)
print("Анализ
ключевых
показателей производительности:") analyze_kpis(data) print("\nАнализ трендов
продаж:") analyze_trends(data) if __name__ == '__main__': main()
Объяснение кода

Загрузка данных: Функция load_data загружает данные из CSV-файла
с помощью pandas.

Анализ KPI: Функция analyze_kpis рассчитывает и выводит общий
объем продаж и средний объем продаж по каждому продукту.

Анализ трендов: Функция analyze_trends отображает график месячных
трендов продаж. Дата преобразуется в формат datetime для группировки
по месяцам, после чего строится график общего объема продаж по
месяцам
3: Разработка простого веб-приложения на Django для учета клиентов и
контактов
•
разработать веб-приложение на Django, которое поможет
управлять информацией о клиентах и контактах компании. Приложение
должно предоставлять функционал для добавления новых клиентов,
редактирования информации о существующих клиентах и управления
контактными данными.
Шаг 1: Настройка проекта Django
Если у вас ещё не установлен Django, установите его с помощью pip:
bashCopy code
pip install django
Создайте новый Django-проект и перейдите в его каталог:
bashCopy code
django-admin startproject company_management cd company_management
Создайте Django-приложение для управления клиентами:
bashCopy code
python manage.py startapp clients
Шаг 2: Определение моделей
В файле clients/models.py определите модели Client и Contact:
pythonCopy code
from django.db import models class Client(models.Model): name =
models.CharField(max_length=100) email = models.EmailField() phone =
models.CharField(max_length=20,
blank=True)
models.TextField(blank=True)
address
=
created_at
=
models.DateTimeField(auto_now_add=True) def __str__(self): return self.name
class
Contact(models.Model):
on_delete=models.CASCADE,
client
=
models.ForeignKey(Client,
related_name='contacts')
models.CharField(max_length=100)
name
=
position
=
models.CharField(max_length=100, blank=True) email = models.EmailField()
phone
=
models.CharField(max_length=20,
models.DateTimeField(auto_now_add=True)
blank=True)
def
created_at
__str__(self):
=
return
f"{self.name} - {self.client.name}"
После определения моделей выполните миграции, чтобы создать
соответствующие таблицы в базе данных:
bashCopy code
python manage.py makemigrations python manage.py migrate
Шаг 3: Создание форм
В файле clients/forms.py создайте формы для моделей Client и Contact:
pythonCopy code
from django import forms from .models import Client, Contact class
ClientForm(forms.ModelForm): class Meta: model = Client fields = ['name', 'email',
'phone', 'address'] class ContactForm(forms.ModelForm): class Meta: model =
Contact fields = ['name', 'position', 'email', 'phone']
Шаг 4: Создание представлений
В файле clients/views.py создайте представления для добавления,
редактирования клиентов и управления контактами:
pythonCopy code
from django.shortcuts import render, redirect from .models import Client,
Contact from .forms import ClientForm, ContactForm def client_list(request):
clients = Client.objects.all() return render(request, 'clients/client_list.html', {'clients':
clients}) def client_add(request): if request.method == "POST": form =
ClientForm(request.POST)
if
form.is_valid():
form.save()
redirect('client_list')
form
=
return
else:
ClientForm()
return
render(request,
'clients/client_form.html', {'form': form}) def client_edit(request, pk): client =
Client.objects.get(pk=pk)
if
request.method
==
"POST":
form
=
ClientForm(request.POST, instance=client) if form.is_valid(): form.save() return
redirect('client_list') else: form = ClientForm(instance=client) return render(request,
'clients/client_form.html', {'form': form}) def contact_manage(request, client_id):
client = Client.objects.get(pk=client_id) if request.method == "POST": form =
ContactForm(request.POST) if form.is_valid(): contact = form.save(commit=False)
contact.client = client contact.save() return redirect('client_list') else: form =
ContactForm() return render(request, 'clients/contact_form.html', {'form': form,
'client': client})
Шаг 5: Настройка маршрутов URL
Создайте файл clients/urls.py и определите в нем маршруты URL для
вашего приложения:
pythonCopy code
from django.urls import path from . import views urlpatterns = [ path('',
views.client_list,
name='client_list'),
path('add/',
views.client_add,
name='client_add'), path('edit/<int:pk>/', views.client_edit, name='client_edit'),
path('manage_contact/<int:client_id>/',
views.contact_manage,
name='contact_manage'), ]
Включите
эти
маршруты
в
главный
файл
маршрутов
company_management/urls.py:
pythonCopy code
from django.contrib import admin from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('clients/', include('clients.urls')),
]
Шаг 6: Создание шаблонов
Создайте
необходимые
clients/templates/clients/
для
шаблоны
HTML
в
директории
отображения
списка
клиентов,
форм
добавления/редактирования клиента и формы управления контактами.
Шаг 7: Запуск приложения
Запустите сервер разработки:
bashCopy code
python manage.py runserver
Откройте веб-браузер и перейдите по адресу http://127.0.0.1:8000/clients/,
чтобы увидеть интерфейс вашего приложения для управления клиентами и
контактами
4: Разработка простого приложения на Python для автоматизации бизнеспроцессов
•
разработать
приложение
на
Python,
которое
поможет
автоматизировать рутинные бизнес-процессы. Приложение должно включать
функции автоматической обработки данных, генерации отчетов, уведомлений
и других действий, которые могут повысить эффективность работы компании.
Шаг 1: Установка необходимых библиотек
Установите необходимые библиотеки, используя pip. Для работы с
электронной почтой мы будем использовать smtplib, который входит в
стандартную библиотеку Python, а для работы с CSV и создания отчетов —
pandas.
bashCopy code
pip install pandas
Шаг 2: Чтение и анализ данных
Создайте файл sales_analysis.py и добавьте следующий код для чтения
данных о продажах из CSV и их анализа:
pythonCopy code
import
pandas
as
pd
pd.read_csv(filename)
def
generate_sales_report(data):
report['total_sales']
=
def
read_sales_data(filename):
data['amount'].sum()
report
return
=
{}
report['average_sale']
=
data['amount'].mean() report['number_of_sales'] = len(data) return report def
main():
sales_data
=
read_sales_data('sales_data.csv')
sales_report
=
generate_sales_report(sales_data) print("Sales Report:", sales_report) if __name__
== '__main__': main()
Шаг 3: Отправка уведомлений по электронной почте
Добавьте функциональность для отправки уведомлений по электронной
почте с отчетом. Для этого вам понадобится настроить SMTP-клиент с
использованием аккаунта электронной почты, который будет отправлять
письма.
pythonCopy code
import
smtplib
from
email.mime.text
import
MIMEText
from
email.mime.multipart import MIMEMultipart def send_email(subject, body,
recipient): sender_email = "your_email@example.com" sender_password =
"your_password" msg = MIMEMultipart() msg['From'] = sender_email msg['To'] =
recipient msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) server =
smtplib.SMTP('smtp.example.com',
server.login(sender_email,
587)
sender_password)
server.starttls()
text
=
msg.as_string()
server.sendmail(sender_email, recipient, text) server.quit() def main(): sales_data =
read_sales_data('sales_data.csv') sales_report = generate_sales_report(sales_data)
report_summary = f"Total Sales: {sales_report['total_sales']}\nAverage Sale:
{sales_report['average_sale']}\nNumber
{sales_report['number_of_sales']}"
report_summary,
of
send_email("Weekly
"recipient@example.com")
print("Sales
Sales:
Sales
report
Report",
sent.")
if
__name__ == '__main__': main()
Важно: Перед использованием функции отправки электронной почты
замените your_email@example.com, your_password, и smtp.example.com на
реальные данные вашего аккаунта SMTP. Также убедитесь, что вы
используете безопасный способ хранения и доступа к вашим учетным данным
5: Разработка простого веб-приложения на Django для управления
проектами и задачами
•
разработать веб-приложение на Django, которое поможет
управлять проектами и задачами в компании. Приложение должно
предоставлять функционал для создания проектов, добавления задач,
назначения ответственных и отслеживания прогресса выполнения задач.
Шаг 1: Настройка проекта Django
Сначала убедитесь, что у вас установлен Django. Если нет, установите
его с помощью pip:
bashCopy code
pip install django
Создайте новый Django-проект:
bashCopy code
django-admin startproject project_management cd project_management
Создайте новое приложение в вашем проекте:
bashCopy code
python manage.py startapp tasks
Шаг 2: Определение моделей
Определите модели для проектов и задач в файле tasks/models.py.
Например:
pythonCopy code
from django.db import models from django.contrib.auth.models import User
class
Project(models.Model):
name
=
models.CharField(max_length=100)
description = models.TextField() start_date = models.DateField() end_date =
models.DateField(null=True, blank=True) def __str__(self): return self.name class
Task(models.Model): project = models.ForeignKey(Project, related_name='tasks',
on_delete=models.CASCADE)
name
=
models.CharField(max_length=100)
description = models.TextField(blank=True) assignee = models.ForeignKey(User,
related_name='tasks', on_delete=models.SET_NULL, null=True, blank=True)
due_date = models.DateField() completed = models.BooleanField(default=False)
def __str__(self): return self.name
Не забудьте выполнить миграции, чтобы создать соответствующие
таблицы в базе данных:
bashCopy code
python manage.py makemigrations python manage.py migrate
Шаг 3: Создание форм
Создайте формы для ваших моделей в файле tasks/forms.py:
pythonCopy code
from django import forms from .models import Project, Task class
ProjectForm(forms.ModelForm): class Meta: model = Project fields = ['name',
'description', 'start_date', 'end_date'] class TaskForm(forms.ModelForm): class
Meta: model = Task fields = ['name', 'description', 'assignee', 'due_date', 'completed']
Шаг 4: Создание представлений
Создайте представления для обработки запросов на создание,
редактирование и удаление проектов и задач. Например, добавьте в
tasks/views.py:
pythonCopy code
from django.shortcuts import render, redirect from .models import Project,
Task from .forms import ProjectForm, TaskForm def project_list(request): projects
= Project.objects.all() return render(request, 'tasks/project_list.html', {'projects':
projects}) def project_detail(request, pk): project = Project.objects.get(id=pk) return
render(request,
'tasks/project_detail.html',
project_create(request):
if
ProjectForm(request.POST)
redirect('project_list')
else:
{'project':
request.method
if
form
==
project})
'POST':
form.is_valid():
form.save()
=
return
ProjectForm()
def
form
=
return
render(request,
'tasks/project_form.html', {'form': form}) # Добавьте аналогичные представления
для задач
Шаг 5: Настройка URL-адресов
Определите URL-адреса для доступа к вашим представлениям в файле
tasks/urls.py (его может потребоваться создать):
pythonCopy code
from django.urls import path from . import views urlpatterns = [
path('projects/', views.project_list, name='project_list'), path('projects/<int:pk>/',
views.project_detail,
name='project_detail'),
path('projects/new/',
views.project_create, name='project_create'), # Добавьте пути для задач ]
Включите определенные URL-адреса в главный маршрутизатор проекта
в project_management/urls.py:
pythonCopy code
from django.contrib import admin from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('', include('tasks.urls')), ]
Шаг 6: Создание шаблонов
Создайте необходимые шаблоны HTML для отображения списков
проектов и задач, а также форм для их создания и редактирования. Разместите
их в директории tasks/templates/tasks/.
Шаг 7: Запуск приложения
Запустите сервер разработки и проверьте работу приложения:
bashCopy code
python manage.py runserver
Откройте веб-браузер и перейдите по адресу http://127.0.0.1:8000/, чтобы
начать использовать ваше приложение для управления проектами и задачами
Download