Создана база данных, сделана таблица пользователей
This commit is contained in:
parent
57ca54f921
commit
5b45413345
1
data/__all_models.py
Normal file
1
data/__all_models.py
Normal file
@ -0,0 +1 @@
|
||||
from . import users
|
||||
30
data/db_session.py
Normal file
30
data/db_session.py
Normal file
@ -0,0 +1,30 @@
|
||||
import sqlalchemy as sa
|
||||
import sqlalchemy.orm as orm
|
||||
from sqlalchemy.orm import Session
|
||||
import sqlalchemy.ext.declarative as dec
|
||||
|
||||
SqlAlchemyBase = dec.declarative_base()
|
||||
|
||||
__factory = None
|
||||
|
||||
def global_init(db_file):
|
||||
global __factory
|
||||
|
||||
if __factory:
|
||||
return
|
||||
|
||||
if not db_file or not db_file.strip():
|
||||
raise Exception("Необходимо указать файл базы данных.")
|
||||
|
||||
conn_str = f'sqlite:///{db_file.strip()}?check_same_thread=False'
|
||||
|
||||
engine = sa.create_engine(conn_str, echo=False)
|
||||
__factory = orm.sessionmaker(bind=engine)
|
||||
|
||||
from . import __all_models
|
||||
|
||||
SqlAlchemyBase.metadata.create_all(engine)
|
||||
|
||||
def create_session() -> Session:
|
||||
global __factory
|
||||
return __factory()
|
||||
21
data/users.py
Normal file
21
data/users.py
Normal file
@ -0,0 +1,21 @@
|
||||
import sqlalchemy
|
||||
from datetime import date
|
||||
from .db_session import SqlAlchemyBase
|
||||
|
||||
|
||||
class User(SqlAlchemyBase):
|
||||
__tablename__ = 'users'
|
||||
|
||||
id = sqlalchemy.Column(sqlalchemy.Integer,
|
||||
primary_key=True, autoincrement=True)
|
||||
name = sqlalchemy.Column(sqlalchemy.String, nullable=True)
|
||||
surname = sqlalchemy.Column(sqlalchemy.String, nullable=True)
|
||||
login = sqlalchemy.Column(sqlalchemy.String, nullable=True)
|
||||
age = sqlalchemy.Column(sqlalchemy.Integer, nullable=True)
|
||||
email = sqlalchemy.Column(sqlalchemy.String,
|
||||
index=True, unique=True, nullable=True)
|
||||
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())
|
||||
13
main.py
13
main.py
@ -1,17 +1,14 @@
|
||||
from flask import Flask, render_template
|
||||
from flask import Flask
|
||||
from data import db_session
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config['SECRET_KEY'] = 'moona_secret_key'
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return render_template('base.html')
|
||||
|
||||
|
||||
def run_web():
|
||||
def main():
|
||||
db_session.global_init("db/moona_data.db")
|
||||
app.run()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run_web()
|
||||
main()
|
||||
@ -7,7 +7,7 @@
|
||||
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>
|
||||
<body>
|
||||
<nav class="navbar navbar-light" style="background-color: #d4f1ff;">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user