<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ``` 用戶模塊:登錄、注冊... ``` 為了隱藏用戶的數量的顯示,不要使用自動增長,應該使用隨機字符串,而使用uuid的話,字符串過于太長,不便于查詢等操作,而在保證同樣的效果時,就使用shortuuid ### 安裝 ``` pip install shortuuid ``` ### 定義模型 ``` from exts import db import shortuuid from werkzeug.security import generate_password_hash,check_password_hash import enum from datetime import datetime class GenderEnum(enum.Enum): MALE = 1 FEMALE = 2 SECRET = 3 UNKNOW = 4 # 為了隱藏用戶的數量的顯示,不要使用自動增長,應該使用隨機字符串 # unique:保持唯一 class FrontUser(db.Model): __tablename__ = 'front_user' id = db.Column(db.String(100),primary_key=True,default=shortuuid.uuid) telephone = db.Column(db.String(11),nullable=False,unique=True) username = db.Column(db.String(50),nullable=False) _password = db.Column(db.String(100), nullable=False) email = db.Column(db.String(50),unique=True) realname = db.Column(db.String(50)) avatar = db.Column(db.String(100)) signature = db.Column(db.String(100)) gender = db.Column(db.Enum(GenderEnum),default=GenderEnum.UNKNOW) join_time = db.Column(db.DateTime,default=datetime.now) def __init__(self,*args,**kwargs): if "password" in kwargs: self.password = kwargs.get('password') kwargs.pop("password") super(FrontUser,self).__init__(*args,**kwargs) # 將password函數定義為屬性 @property def password(self): return self._password # 通過werkzeug的內置has函數進行加密和解密,判斷 @password.setter def password(self,newpwd): self._password = generate_password_hash(newpwd) def check_password(self,rawpwd): return check_password_hash(self._password,rawpwd) ```
                  <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>

                              哎呀哎呀视频在线观看