файл config.py
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@localhost/myDb'
SQLALCHEMY_TRACK_MODIFICATIONS = False
файл моделей
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask import Blueprint
import sys
sys.path.append('..')
from config import Config
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
class users(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(36), nullable=False)
def __init__(self, name, email, password):
self.name = name
users = Blueprint('users', __name__)
@users.route('/createAll', methods=['POST'])
def create():
db.create_all()
return "success"
основной файл
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from Models.Models import users
from flask import Blueprint
from config import Config
app = Flask(__name__)
db = SQLAlchemy(app)
app.register_blueprint(users)
if __name__ == '__main__':
app.run()
Я хочу, чтобы db.create_all () запустился и создал моймоделей. Я недавно экспериментировал с планом, и этот код работал без схемы, как во всем файле. Не уверен, что я делаю не так. Если я пойду на почтальон и сделаю / createAll POST-запрос, это даст мне «успех», так как в db.create_all () run просто ничего не сделал, так как мои таблицы не были созданы.
Порядок моих папок:
(flask-practise - folder)
(Models - folder)
Models.py
app.py
config.py