我想创建一个登录应用程序。我正在使用Flask和PyMongo以及mongoalchemy作为登录应用程序。当我运行该程序时,代码显示以下错误。 追溯(最近一次通话):
raise FieldNotRetrieved(self._name)
mongoalchemy.exceptions.FieldNotRetrieved:名称
from flask import Flask,request,render_template
from flask_pymongo import PyMongo
from flask_mongoalchemy import MongoAlchemy
from flask_wtf import FlaskForm
from wtforms import TextField,BooleanField,StringField,PasswordField,validators
from wtforms.validators import InputRequired
app = Flask(__name__)
app.config['SECRET_KEY']='thisissecretkey'
app.config['MONGOALCHEMY_DATABASE'] = 'test'
app.config["MONGO_URI"] = "mongodb://localhost:27017/test"
db = MongoAlchemy(app)
class Author(db.Document):
name = db.StringField(required=True)
password = db.StringField(required=True)
class Reg(FlaskForm):
name=StringField("name",validators=[InputRequired()])
password=PasswordField("password",validators=[InputRequired()])
@app.route("/index",methods=['GET','POST'])
def index():
form = Reg()
if request.method=='POST':
if form.validate():
Author(request.form["name"],request.form["password"]).save()
return "user is created"
return "user is not created"
return render_template('check.html',form=form)
if __name__=='__main__':
app.run(debug=True)
--this is Flask-Form page----
{% from "_formhelpers.html" import render_field %}
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action="/index">
<dl>
{{ form.hidden_tag() }}
{{ render_field(form.name) }}
{{ render_field(form.password) }}
</dl>
<p><input type="submit" name="submit"></p>
</form>
</body>
</html>