В модель БД добавлены таблицы files и roles. Имя БД изменено с conventus.db на incepted.db

This commit is contained in:
Andrei 2022-11-29 23:23:05 +05:00
parent c92c4cba5c
commit 4f224b7a27
10 changed files with 1171 additions and 5 deletions

View File

@ -1 +1 @@
# from . import user from . import users, roles, files

18
data/files.py Normal file
View File

@ -0,0 +1,18 @@
from datetime import date
import sqlalchemy
from flask_login import UserMixin
from werkzeug.security import check_password_hash, generate_password_hash
from .db_session import SqlAlchemyBase
class Files(SqlAlchemyBase, UserMixin):
__tablename__ = 'files'
id = sqlalchemy.Column(sqlalchemy.Integer,
primary_key=True, autoincrement=True)
path = sqlalchemy.Column(sqlalchemy.String, nullable=False)
user = sqlalchemy.Column(sqlalchemy.Integer,
sqlalchemy.ForeignKey("users.id"), nullable=True, default=None)
up_date = sqlalchemy.Column(sqlalchemy.DateTime, nullable=False)

13
data/roles.py Normal file
View File

@ -0,0 +1,13 @@
import sqlalchemy
from flask_login import UserMixin
from .db_session import SqlAlchemyBase
class Roles(SqlAlchemyBase, UserMixin):
__tablename__ = 'roles'
id = sqlalchemy.Column(sqlalchemy.Integer,
primary_key=True, autoincrement=True)
name = sqlalchemy.Column(sqlalchemy.String, nullable=False)
rights = sqlalchemy.Column(sqlalchemy.Integer)

33
data/users.py Normal file
View File

@ -0,0 +1,33 @@
from datetime import date
import sqlalchemy
from flask_login import UserMixin
from werkzeug.security import check_password_hash, generate_password_hash
from .db_session import SqlAlchemyBase
class User(SqlAlchemyBase, UserMixin):
__tablename__ = 'users'
id = sqlalchemy.Column(sqlalchemy.Integer,
primary_key=True, autoincrement=True)
name = sqlalchemy.Column(sqlalchemy.String, nullable=False)
surname = sqlalchemy.Column(sqlalchemy.String, nullable=True)
login = sqlalchemy.Column(sqlalchemy.String, nullable=False, unique=True)
email = sqlalchemy.Column(sqlalchemy.String,
index=True, nullable=False)
about = sqlalchemy.Column(sqlalchemy.String, nullable=True)
photo = sqlalchemy.Column(sqlalchemy.Text)
password = sqlalchemy.Column(sqlalchemy.String, nullable=True)
data_reg = sqlalchemy.Column(sqlalchemy.Date,
default=date.today())
role = sqlalchemy.Column(sqlalchemy.String, nullable=True)
activity = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
birthday = sqlalchemy.Column(sqlalchemy.Date, nullable=True)
def check_password(self, password):
return check_password_hash(self.password, password)
def set_password(self, password):
self.password = generate_password_hash(password)

View File

View File

View File

@ -1,4 +1,5 @@
from flask import Flask from flask import Flask, render_template
from data.users import User
from waitress import serve from waitress import serve
from data import db_session from data import db_session
@ -8,11 +9,11 @@ app.config['SECRET_KEY'] = 'test_secret_key'
@app.route('/') @app.route('/')
def base(): def base():
return '' return render_template('main.html')
def main(): def main():
db_session.global_init("db/conventus.db") db_session.global_init("db/incepted.db")
serve(app, host='0.0.0.0', port=5000) serve(app, host='0.0.0.0', port=5000)

View File

@ -0,0 +1,4 @@
.navbar {
display: flex;
justify-content: flex-end;
}

View File

@ -3,9 +3,16 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="stylesheet" href="../static/css/base.css"> <link rel="stylesheet" href="../static/css/base.css">
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<title>{{title}}</title> <title>{{title}}</title>
</head> </head>
<body> <body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8"
crossorigin="anonymous"></script>
<!-- Begin page content --> <!-- Begin page content -->
<main role="main"> <main role="main">
{% block content %}{% endblock %} {% block content %}{% endblock %}

File diff suppressed because it is too large Load Diff