Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我的注册表在提交时没有更新_Python_Sqlite_Flask_Flask Sqlalchemy_Flask Wtforms - Fatal编程技术网

Python 为什么我的注册表在提交时没有更新

Python 为什么我的注册表在提交时没有更新,python,sqlite,flask,flask-sqlalchemy,flask-wtforms,Python,Sqlite,Flask,Flask Sqlalchemy,Flask Wtforms,我正在使用Flask wtforms和sqlite作为数据库制作注册表单,但当我尝试提交时,它不会推送到数据库 我已经检查了我是否没有在我的注册表中添加“post”方法,以及在配置数据库时是否创建了数据库 这是我的表格 Register.html 没有错误消息我只知道它不会将新用户推送到数据库。明白了 希望这有助于其他人…哈哈 添加到register.html 这样request.files就不会为空 from flask_wtf import FlaskForm from flask_wt

我正在使用Flask wtforms和sqlite作为数据库制作注册表单,但当我尝试提交时,它不会推送到数据库

我已经检查了我是否没有在我的注册表中添加“post”方法,以及在配置数据库时是否创建了数据库

这是我的表格 Register.html 没有错误消息我只知道它不会将新用户推送到数据库。

明白了

希望这有助于其他人…哈哈

添加到register.html

这样request.files就不会为空

from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from flask_login import current_user
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError
from app.models import User
from app import db


class RegistrationForm(FlaskForm):
    username = StringField('Username',
                           validators=[DataRequired(), Length(min=2, max=20)])
    email = StringField('Email',
                        validators=[DataRequired(), Email()])
    picture=FileField('Profile picture',validators=[DataRequired(),FileAllowed(['jpg', 'png'])])
    password = PasswordField('Password', validators=[DataRequired()])
    
    confirm_password = PasswordField('Confirm Password',
                                     validators=[DataRequired(), EqualTo('password')])
    submit = SubmitField('Sign Up')
    def validate_username(self, username):
        user = User.query.filter_by(username=username.data).first()
        if user:
            raise ValidationError('That username is taken. Please choose a different one.')

    def validate_email(self, email):
        user = User.query.filter_by(email=email.data).first()
        if user:
            raise ValidationError('That email is taken. Please choose a different one.')

<form action="" method="POST" class='register-form'>
                      {{ form.hidden_tag() }}
                      <div class=''>
                    {{form.picture.label}}
                    {{form.picture}}
                    {%if error in form.picture.errors%}
                    <span style="color: red;">[{{ error }}]</span>
                    {% endif %}
                  </div>
                      <p >
                          {{ form.username.label }}<br>
                          {{ form.username(size=32) }}<br>
                          {% for error in form.username.errors %}
                          <span style="color: red;">[{{ error }}]</span>
                          {% endfor %}
                      </p>
                      <p>
                          {{ form.email.label }}<br>
                          {{ form.email(size=32) }}<br>
                          {% for error in form.email.errors %}
                          <span style="color: red;">[{{ error }}]</span>
                          {% endfor %}
                      </p>
                      <p>
                          {{ form.password.label }}<br>
                          {{ form.password(size=32) }}<br>
                          {% for error in form.password.errors %}
                          <span style="color: red;">[{{ error }}]</span>
                          {% endfor %}
                      </p>
                      <p>
                          {{ form.confirm_password.label }}<br>
                          {{ form.confirm_password(size=32) }}<br>
                          {% for error in form.confirm_password.errors %}
                          <span style="color: red;">  [{{"Typo! Passwords didn't match"}}]</span>
                          {% endfor %}
                      </p>
                      <p>{{ form.submit(class="btn btn-primary")   }}</p>
                    
                  </form>
from flask import Flask
from flask_script import Manager
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager

app = Flask(__name__)

app.config['SECRET_KEY'] = 'hidden secret key8e9808798709809'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=False
db = SQLAlchemy(app)
manager = Manager(app)
<form method="POST" enctype="multipart/form-data">