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