Я работаю над проектом, который требует, чтобы я создал базу данных, импортировал в нее данные и отобразил ее на локальном сервере FLASK.Я создал базу данных, но я не уверен, что мне нужно сделать, чтобы отобразить ее таблицы на сервере.Я настроил отображение информации через HTML через render_template и считаю, что установил соединение через config.py, но я не уверен, куда идти дальше.Я прочитал следующие руководства, но я не совсем понимаю их.Если бы кто-нибудь мог помочь, я был бы признателен.
http://flask.pocoo.org/docs/0.12/patterns/sqlalchemy/ http://flask -sqlalchemy.pocoo.org / 2.3 / config /
Ниже приведенысоответствующие файлы в корне проекта.
/project
config.py
database_insert.py
server.py
/app
/templates
index.html
__init__.py
models.py
routes.py
config.py
import os
basedir = os.path.abspath(os.path.dirname(__file__))
class Config(object):
SECRET_KEY = 'you-will-never-guess'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////project/app.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
init .py
from flask import Flask, request, render_template
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
from app import routes, models
models.py
from app import db
class Lot(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(64), index=True)
spots = db.relationship('Spot', backref='author', lazy='dynamic')
def __repr__(self):
return '<Lot {}>'.format(self.username)
class Spot(db.Model):
id = db.Column(db.Integer, primary_key=True)
availability = db.Column(db.String(140))
spot_num = db.Column(db.String(140))
lot_id = db.Column(db.Integer, db.ForeignKey('lot.id'))
def __repr__(self):
return '<Spot {}>'.format(self.body)
rout.py
from app import app
from flask import Flask, request, render_template
@app.route('/')
@app.route('/index')
def index():
lot_details = {
'id': 'TEST_ID', #placeholder for testing purposes
'title': 'TEST_TITLE' #placeholder for testing purposes
}
return render_template('index.html', lot=lot_details)
index.html
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<p>Hello, World!</p>
<p>{{lot.id}}</p>
<p>{{lot.title}}</p>
</body>