/
ColdWaterV
/
p1
Обзор
Документация
Войти
/
ColdWaterV
/
p1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
back
80 строк
3 KB
ColdWaterV
create back
03 сен 2025, 09:02
03 сен 2025, 09:02
e81fc64
Код
Авторство
О чём код?
from flask import Flask, render_template, request, redirect, session import sqlite3 from werkzeug.security import generate_password_hash, check_password_hash app = Flask(__name__) app.secret_key = 'your_secret_key' def get_db_connection(): conn = sqlite3.connect('database.db') conn.row_factory = sqlite3.Row return conn @app.route('/') def index(): conn = get_db_connection() events = conn.execute('SELECT * FROM events').fetchall() conn.close() return render_template('index.html', events=events) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] conn = get_db_connection() user = conn.execute('SELECT * FROM users WHERE username=?', (username,)).fetchone() conn.close() if user is None or not check_password_hash(user['password_hash'], password): error = 'Invalid credentials' else: session.clear() session['user_id'] = user['id'] return redirect('/') return render_template('login.html') @app.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] conn = get_db_connection() existing_user = conn.execute('SELECT * FROM users WHERE username=?', (username,)).fetchone() if existing_user is not None: error = 'Username already exists.' else: hash_password = generate_password_hash(password) conn.execute('INSERT INTO users (username, password_hash) VALUES (?, ?)', (username, hash_password)) conn.commit() conn.close() return redirect('/login') return render_template('register.html') @app.route('/create_event', methods=['GET', 'POST']) def create_event(): if 'user_id' not in session: return redirect('/login') if request.method == 'POST': title = request.form['title'] description = request.form['description'] start_time = request.form['start_time'] location = request.form['location'] conn = get_db_connection() conn.execute('INSERT INTO events (title, description, start_time, location, user_id) VALUES (?, ?, ?, ?, ?)', (title, description, start_time, location, session['user_id'])) conn.commit() conn.close() return redirect('/') return render_template('create_event.html') if __name__ == '__main__': app.run(debug=True)