def add_book(): # Добавление книги # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('login') # если админ, то его на свою страницу if session['username'] != 'admin': return redirect('index') form = AddbookForm() available_genres = [(i[0], i[1]) for i in genre_Book(db.get_connection()).get_all()] form.genre_id.choices = available_genres if form.validate_on_submit(): # создать книгу books = Book(db.get_connection()) books.insert(model=form.model.data, price=form.price.data, power=form.power.data, color=form.color.data, genre=form.genre_id.data) # редирект на главную страницу return redirect(url_for('Book_admin')) return render_template("add_book.html", title='Добавление книги', form=form)
def delat(genre_id): # Вывод всей информации о жанре информация для авторизованного пользователя # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('/login') # если не админ, то его на главную страницу if session['username'] != 'admin': return redirect(url_for('index')) # иначе выдаем информацию books = Book(db.get_connection()).get_by_genre(genre_id) for i in books: Book(db.get_connection()).delete(i[2]) genre_Book(db.get_connection()).delete(genre_id) genres = genre_Book(db.get_connection()).get_all() return render_template('genre_admin.html', username=session['username'], title='Просмотр жанров', genres=genres)
def genre(genre_id): # Вывод всей информации о жанре нформация для авторизованного пользователя # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('/login') # если не админ, то его на главную страницу if session['username'] != 'admin': return redirect(url_for('index')) # иначе выдаем информацию genre = genre_Book(db.get_connection()).get(genre_id) return render_template('genre_info.html', username=session['username'], title='Просмотр информации о жанре', genre=genre)
def genre_admin(): # Вывод всей информации об всех жанрах информация для авторизованного пользователя # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('/login') # если админ, то его на свою страницу if session['username'] != 'admin': flash('Доступ запрещен') redirect('index') # иначе это админ genres = genre_Book(db.get_connection()).get_all() return render_template('genre_admin.html', username=session['username'], title='Просмотр жанров', genres=genres)
def add_genre(): # Добавление жанра и вывод на экран информации о нем # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('/login') # если админ, то его на свою страницу if session['username'] == 'admin': form = AddgenreForm() if form.validate_on_submit(): # создать жанр genres = genre_Book(db.get_connection()) genres.insert(name=form.name.data, infoganre=form.infoganre.data) # редирект на главную страницу return redirect(url_for('index')) return render_template("add_genre.html", title='Добавление жанра', form=form)
def search_genre(): # Запрос книг, продающихся в определенном жанре form = SearchgenreForm() available_genres = [(i[0], i[1]) for i in genre_Book(db.get_connection()).get_all()] form.genre_id.choices = available_genres if form.validate_on_submit(): # books = Book(db.get_connection()).get_by_genre(form.genre_id.data) # редирект на главную страницу return render_template('book_user.html', username=session['username'], title='Просмотр базы', books=books) return render_template("search_genre.html", title='Подбор по цене', form=form)
def book(book_id): # Просмотр книги информация для авторизованного пользователя # если пользователь не авторизован, кидаем его на страницу входа if 'username' not in session: return redirect('/login') # если админ, то его на спец страницу с возможностью менять описание book = Book(db.get_connection()).get(book_id) genre = genre_Book(db.get_connection()).get(book[5]) if session['username'] == 'admin': # странца админа с кнопкой редактирования return render_template('book_infoad.html', username=session['username'], title='Просмотр книги', book=book, genre=genre[1]) # иначе выдаем информацию return render_template('book_info.html', username=session['username'], title='Просмотр книги', book=book, genre=genre[1])
from flask import Flask, session, redirect, render_template, flash, url_for, request from werkzeug.security import generate_password_hash, check_password_hash from models import UsersModel, Book, genre_Book from forms import LoginForm, RegisterForm, AddbookForm, SearchPriceForm, SearchgenreForm, AddgenreForm from db import DB app = Flask(__name__) app.config['SECRET_KEY'] = 'yandexlyceum_secret_key' db = DB() UsersModel(db.get_connection()).init_table() Book(db.get_connection()).init_table() genre_Book(db.get_connection()).init_table() @app.route('/redak/<int:book_id>', methods=['POST', 'GET']) def redak(book_id=1): # редактирование записей кидаем на главную p = book_id if request.method == 'GET': return render_template('text.html') elif request.method == 'POST': Book(db.get_connection()).redak(p, request.form['about'].strip()) books = Book(db.get_connection()).get_all() return render_template('Book_admin.html', username=session['username'], title='Просмотр базы', books=books) @app.route('/') @app.route('/index')