листинг кода на python для создания веб- приложения для обучения сотрудников
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
В этом примере мы используем SQLAlchemy для работы с базой данных.
Далее необходимо создать объект приложения и подключить базу данных:
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///employees.db'
db = SQLAlchemy(app)
Мы указываем путь к базе данных employees.db, которую мы создадим позже.
Далее создадим модель БД для сотрудников. Для этого в файле app.py создадим класс Employee:
class Employee(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
position = db.Column(db.String(100))
salary = db.Column(db.Integer)
В этой модели БД мы определяем поля для Id, имени, должности и зарплаты сотрудника.
Далее создадим обработчики запросов для приложения. Добавление нового сотрудника будет происходить с помощью POST запроса на URL-адрес /employees/add. В файле app.py определим этот обработчик:
@app.route('/employees/add', methods=['POST'])
def add_employee():
employee = Employee(
name=request.form['name'],
position=request.form['position'],
salary=request.form['salary']
)
db.session.add(employee)
db.session.commit()
return "Employee added"
Мы получаем данные из формы, создаем новую запись в БД и сохраняем ее.
Для получения списка сотрудников определим обработчик GET запроса на URL-адрес /employees:
@app.route('/employees')
def employees():
employees = Employee.query.all()
return render_template('employees.html', employees=employees)
Мы получаем список всех сотрудников из БД и выводим их на страницу с помощью шаблона employees.html.
Наконец, создадим базу данных с помощью команды:
db.create_all()
Полный код приложения:
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///employees.db'
db = SQLAlchemy(app)
class Employee(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
position = db.Column(db.String(100))
salary = db.Column(db.Integer)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/employees/add', methods=['POST'])
def add_employee():
employee = Employee(
name=request.form['name'],
position=request.form['position'],
salary=request.form['salary']
)
db.session.add(employee)
db.session.commit()
return "Employee added"
@app.route('/employees')
def employees():
employees = Employee.query.all()
return render_template('employees.html', employees=employees)
db.create_all()
Шаблон для отображения списка сотрудников employees.html:
<!DOCTYPE html>
<html>
<head>
<title>Employees</title>
</head>
<body>
<h1>Employees</h1>
<ul>
{% for employee in employees %}
<li>{{ employee.name }} - {{ employee.position }} - {{ employee.salary }}</li>
{% endfor %}
</ul>
</body>
</html>
Шаблон для добавления нового сотрудника index.html:
<!DOCTYPE html>
<html>
<head>
<title>Add Employee</title>
</head>
<body>
<h1>Add Employee</h1>
<form method="POST" action="/employees/add">
<label>Name:</label>
<input type="text" name="name">
<label>Position:</label>
<input type="text" name="position">
<label>Salary:</label>
<input type="text" name="salary">
<input type="submit" value="Add Employee">
</form>
</body>
</html>
Таким образом, получается простое веб-приложение для добавления и просмотра списка сотрудников с помощью Flask на языке Python.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет