<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 81 使用flask\_wtf1驗證上傳的文件 1.定義表單的時候,對文件的字段,需要采用"FileField"這個類型 2.驗證器應該從"flask\_wtf.file"中導入,使用“flask\_wtf.file.FileRequired”是用來驗證文件上傳是否為空,“flask\_wtf.file.FileAllowed”用來驗證上傳的文件的后綴名 3.在視圖文件中,使用"from werkzeug.datastructures.CombinedMultiDict",來把"request.form"與"request.files"來進行合并,再傳給表單來做驗證 ```text form = UploadFrom(CombinedMultiDict([request.form,request.files])) ``` ```text upload.py @app.route("/upload/",methods=["GET","POST"]) def upload(): if request.method == "GET": return render_template("upload.html") else: form = UploadFrom(CombinedMultiDict([request.form,request.files])) if form.validate(): # 通過form.字段名.data來獲取數據 desc = form.desc.data avatar = form.avatar.data filename = secure_filename(avatar.filename) avatar.save(os.path.join(UPLOAD_PATH,filename)) print(os.path.join("\\".join(UPLOAD_PATH.split('/')),filename)) return "文件上傳成功" else: print(form.errors) return "fail" ``` ```text forms.py from wtforms import Form,FileField,StringField from wtforms.validators import InputRequired # flask_wtf from flask_wtf.file import FileAllowed,FileRequired class UploadFrom(Form): # 使用Flask - WTF提供的FileRequired、FileAllowed驗證函數 avatar = FileField(validators=[FileRequired(),FileAllowed(['jpg','png','gif'])]) desc = StringField(validators=[InputRequired()]) ```
                  <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>

                              哎呀哎呀视频在线观看