<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 89 實戰項目-中國工商銀行注冊功能完成 ## ICBC.py ```text from flask import Flask,render_template,views,request from forms import RegistForm from exts import db import config from models import User app = Flask(__name__) # 初始化app db.init_app(app) # 導入配置 app.config.from_object(config) # 首頁 @app.route('/') def index(): return render_template("index.html") # 注冊模塊 class RegistView(views.MethodView): # get請求 def get(self): return render_template("regist.html") # post請求 def post(self): # request.form:獲取所有表單數據 # 將表單數據傳入RegistForm中進行驗證數據是否輸入正確 form = RegistForm(request.form) # 如果驗證成功則會通過validate()方法返回一個True,反之False if form.validate(): # 通過form.字段名.data獲取表單數據 email = form.email.data username = form.username.data password = form.password.data deposit = form.deposit.data # 創建user對象 user = User(email=email,username=username,password=password,deposit=deposit) # 插入數據庫中 #------------- # 添加對象 db.session.add(user) # 提交到數據庫中 db.session.commit() return "注冊成功" else: # form.errors:驗證失敗錯誤的原因 print(form.errors) return "注冊失敗" # 通過類,進行添加url app.add_url_rule("/regist/",view_func=RegistView.as_view("regist")) if __name__ == '__main__': app.run(debug=True) ``` ## config.py ```text DB_URI = "mysql+pymysql://root:123456@localhost:3306/icbc?charset=utf8" SQLALCHEMY_DATABASE_URI = DB_URI SQLALCHEMY_TRACK_MODIFICATIONS = False ``` ## models.py ```text from exts import db class User(db.Model): # 數據庫表名 __tablename__ = "user" # db.Column:字段 id = db.Column(db.Integer,primary_key=True) email = db.Column(db.String(50),nullable=False) username = db.Column(db.String(50),nullable=False) password = db.Column(db.String(50),nullable=False) deposit = db.Column(db.Float(50),default=0) ``` ## manage.py ```text # 管理 from flask_script import Manager from ICBC import app from exts import db # 遷移 # Migrate用來綁定app和db的 # MigrateCommand:遷移命令 from flask_migrate import MigrateCommand,Migrate # 導入模型,便于執行遷移時,檢測到模型 from models import User # 創建一個實例化管理對象,具有app的功能 manager = Manager(app) # 綁定 Migrate(app,db) # 映射遷移命令:db manager.add_command('db',MigrateCommand) # 初始化倉庫 # python manage.py db init # 執行遷移 # python manage.py db migrate # 把數據模型映射到數據庫中 # python manage.py db upgrade if __name__ == "__main__": manager.run() ``` ## exts.py ```text # 存儲db from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() ``` ## forms.py ```text # 字段類型 from wtforms import Form,StringField,FloatField # 驗證 from wtforms.validators import Email,Length,EqualTo,InputRequired class RegistForm(Form): # 驗證是否是郵箱格式 email = StringField(validators=[Email()]) # 驗證輸入的長度是否達到3~20 username = StringField(validators=[Length(3,20)]) # 同上 password = StringField(validators=[Length(6, 20)]) # 驗證是否和password字段的值一樣 password_repeat = StringField(validators=[EqualTo("password")]) # 判斷是否輸入值 deposit = FloatField(validators=[InputRequired()]) ``` ## regist.html ```text <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>中國工商注冊頁面</title> </head> <body> <form action="" method="post"> <table> <tbody> <tr> <td>郵箱:</td> <td><input type="emial" name="email"/></td> </tr> <tr> <td>用戶名:</td> <td><input type="text" name="username"/></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="password"/></td> </tr> <tr> <td>重復密碼:</td> <td><input type="password" name="password_repeat"/></td> </tr> <tr> <td>余額:</td> <td><input type="text" name="deposit"/></td> </tr> <tr> <td></td> <td><input type="submit" value="立即注冊"/></td> </tr> </tbody> </table> </form> </body> </html> ``` ## index.html ```text <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>中國工商銀行首頁</title> </head> <body> <h1>歡迎來到中國工商銀行</h1> <div> <ul> <li><a href="{{ url_for("regist") }}" >立即注冊</a></li> </ul> </div> </body> </html> ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看