sqlite Flask SQLAlchemy创建了一个示例文件夹?

cs7cruho  于 2023-03-03  发布在  SQLite
关注(0)|答案(1)|浏览(151)

flask 应用程序
我有一个使用sqlite的数据库,名为market.db,我在app.py中这样配置它:app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///market.db'
然后当我运行flask shell时,它创建了一个文件夹instance/。然后我运行db.create_all(),它在instance/文件夹中创建了一个数据库。我可以在同一个shell中向数据库添加项目,没有问题,但我担心这是否值得生产。
文件层次结构:

我想最终将其部署到云服务器上,我希望人们能够登录和注册。我担心的是,如果用户注册时,它会将这些更改保存在整个网站上,或者只保存在该用户的本地计算机上。我希望有一种方法,当用户注册时,允许网站上的其他人访问其他用户,因为我会有一张所有用户的表。谢谢。
app.py:

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///market.db'
db = SQLAlchemy(app)

class Item(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(length=30), nullable=False, unique=True)
    price = db.Column(db.Integer(), nullable=False)
    barcode = db.Column(db.String(length=12), nullable=False, unique=True)
    description = db.Column(db.String(length=1024), nullable=False, unique=True)

@app.route("/")
@app.route('/home')
def home_page():
    return render_template('home.html')

@app.route('/market')
def market_page():
    items = [
        {'id': 1, 'name': 'Phone', 'barcode': '893212299897', 'price': 500},
        {'id': 2, 'name': 'Laptop', 'barcode': '123985473165', 'price': 900},
        {'id': 3, 'name': 'Keyboard', 'barcode': '231985128446', 'price': 150}
    ]
    return render_template('market.html', items=items)
nkcskrwz

nkcskrwz1#

我担心的是,如果当用户注册时,它会将这些更改保存在整个网站上,或者只是保存在用户的本地机器上。
不,它不会保存在用户的本地计算机上,请记住,您将在云中托管您的 flask 应用程序。整个 flask 应用程序沿着示例文件夹将在云中,因此它将保存到云上的DB文件示例。示例文件夹的目的是保存敏感信息,这些信息特定于您的应用程序示例,而您通常不会'I don“我不想提交到远程存储库。这也不会自动发生,只有当您将示例文件夹添加到.gitignore文件时才会发生。

相关问题