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/, чтобы начать использовать ваше приложение для управления проектами и задачами