亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

學(xué)習(xí)日志-flask-01,flask_sqlalchemy文件組織結(jié)構(gòu)示例

SimpleTriangle / 2790人閱讀

摘要:用意靈活的文件組織結(jié)構(gòu)讓很多新手玩家痛苦萬分網(wǎng)上的相關(guān)教程也是良莠不齊本人也是在幾近崩潰的邊緣瘋狂試探堅(jiān)持即時(shí)勝利終于被我摸索出一個(gè)較為適用的簡(jiǎn)單文件組織結(jié)構(gòu)本文從單文件結(jié)構(gòu)逐步拆分成多個(gè)部分至于其中各個(gè)步驟拆分的用意還請(qǐng)恕在下才疏學(xué)淺難以

1用意

flask靈活的文件組織結(jié)構(gòu)讓很多新手玩家痛苦萬分,網(wǎng)上的相關(guān)教程也是良莠不齊,本人也是在幾近崩潰的邊緣瘋狂試探
,堅(jiān)持即時(shí)勝利,終于被我摸索出一個(gè)較為適用的簡(jiǎn)單文件組織結(jié)構(gòu). 本文從單文件結(jié)構(gòu),逐步拆分成多個(gè)部分,至于其中
各個(gè)步驟拆分的用意,還請(qǐng)恕在下才疏學(xué)淺,難以用文字形容,各位看官請(qǐng)自行體會(huì).

2.簡(jiǎn)單示例

目錄結(jié)構(gòu)

app.py

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)


class Record(db.Model):
    __tablename__ = "record"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)


@app.route("/")
def index():
    return render_template("index.html")


@app.route("/sign_up", methods=["GET", "POST"])
def add_user():
    if request.method == "GET":
        return render_template("sign_up.html")
    else:
        for i in request.args:
            print(i)
        # print(request.args.get("username")) #None
        name = request.form.get("name")
        print("name={}".format(name))
        content = request.form.get("content")
        print("content={}".format(content))
        record = Record(name=name, content=content)
        db.session.add(record)
        db.session.commit()
        return redirect(url_for("index"))


if __name__ == "__main__":
    db.init_app(app)

    app.run()

config.py

SQLALCHEMY_TRACK_MODIFICATIONS=True

DIALECT = "mysql"
DRIVER = "pymysql"
USERNAME = "root"
PASSWORD = "hujin666.."
HOST = "127.0.0.1"
PORT = "3306"
DATABASE = "socketio_test"

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT,
                                                                       DATABASE)

index.html




    
    首頁


    注冊(cè)

sign_up.html




    
    注冊(cè)


    
2.開始拆分

首先我們?cè)诟夸浿行陆ㄒ粋€(gè)extensions.py,將app.py中的頭部部分拿進(jìn)去
extensions.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)

然后在根目錄中新建models包,并在models里面新建record.py文件
record.py

from extensions import db
class Record(db.Model):
    __tablename__ = "record"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)

接著在根目錄下新建routes包,并在routes里面新建record.py的路由文件

from extensions import app,db
from flask import render_template, request, redirect, url_for
from models.record import Record


@app.route("/")
def index():
    return render_template("index.html")


@app.route("/sign_up", methods=["GET", "POST"])
def add_user():
    if request.method == "GET":
        return render_template("sign_up.html")
    else:
        for i in request.args:
            print(i)
        # print(request.args.get("username")) #None
        name = request.form.get("name")
        print("name={}".format(name))
        content = request.form.get("content")
        print("content={}".format(content))
        record = Record(name=name, content=content)
        db.session.add(record)
        db.session.commit()
        return redirect(url_for("index"))

最后在根目錄中新建一個(gè)入口文件run.py

run.py

from extensions import db
from routes.record import app
if __name__ == "__main__":
    db.init_app(app)

    app.run()

目錄結(jié)構(gòu)

數(shù)據(jù)庫初始化比較簡(jiǎn)單,請(qǐng)自行建庫建表,修改連接配置
自此大功告成,邁過flask的第一大坑

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45199.html

相關(guān)文章

  • python大佬養(yǎng)成計(jì)劃----基于flask_sqlalchemy的網(wǎng)頁顯示數(shù)據(jù)庫信息

    摘要:網(wǎng)頁顯示數(shù)據(jù)庫信息使用我們剛學(xué)習(xí)的,在網(wǎng)頁中顯示數(shù)據(jù)庫表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫中執(zhí)行過創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 網(wǎng)頁顯示數(shù)據(jù)庫信息 使用我們剛學(xué)習(xí)的flask_sqlalchemy,在網(wǎng)頁中顯示數(shù)據(jù)庫表中的數(shù)據(jù)。在開始運(yùn)行程序前,確保數(shù)據(jù)庫中執(zhí)行過創(chuàng)建表和創(chuàng)建用戶的操作,詳見鏈接描述。 # 模板文件templates/list.html {% extend...

    cppowboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

SimpleTriangle

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<