我正在尝试构建一个管理控制面板,将 4 个不同的电子商务网站汇集在一起。这些站点都具有相同的数据库结构(都是 MySQL)。
怎么了?
我在输入的任何订单 ID 和站点上都得到 404 Not Found。无论我如何混合它,我都无法获得任何记录。总是404,我不知道为什么。所以我在这里。
代码
我试图通过创建每个表的基本模型类来做到这一点。然后使用依赖于它的数据库的不同绑定键创建这些基类的继承类。这是代码的摘要视图 - 如果您需要更多信息,请告诉我:
基本模型.py
MyOrderClass(db.Model):
__tablename__ = 'messytablename'
id = db.Column('order_id', db.Integer, primary_key=True)
order_total = db.Column(db.Float)
order_status = db.Column(db.String(1))
site2models.py
class Site2Order(MyOrderClass):
__bind_key__ = 'site2'
__init__.py
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:pass@localhost/site'
app.config['SQLALCHEMY_BINDS'] = {
'site1':'mysql://user:pass@localhost/site1',
'site2':'mysql://user:pass@localhost/site2',
'site3':'mysql://user:pass@localhost/site3',
'site4':'mysql://user:pass@localhost/site4'
}
视图.py
@app.route('/order/<site>/<orderid>')
def show_order(site, orderid):
if site == 'site1':
orderObject = Site1Order
if site == 'site2':
orderObject = Site2Order
if site == 'site3':
orderObject = Site3Order
if site == 'site4':
orderObject = Site4Order
order = orderObject.query.get(orderid)
return render_template('order.html', order=order)
原始站点是用 PHP 构建的,结构和命名约定不够整洁。
感谢您的时间。