Pracuję nad aplikacją internetową za pomocą Flask i pyMongo, a ostatnio zacząłem integrować moduł Flask-Admin (1.0.4), biorąc pod uwagę nowe wsparcie mongodb.Flask-Admin - Dostosowywanie widoków
Wszystko jest gładkie i delikatne podczas korzystania z ModelViews, ale jeśli chodzi o podklasę BaseView, po prostu nie mogę go uruchomić.
Oto moja konfiguracja:
user_view = Admin(app, name='User stuff', url="/user", endpoint="user")
class ProfileForm(wtf.Form):
username = wtf.TextField('Username', [wtf.Required()])
name = wtf.TextField('Name', [wtf.Required()])
class Profile(BaseView):
@expose('/', methods=('GET', 'POST'))
def profile(self):
user = User(uid) # gets the user's data from DB
form = ProfileForm(request.form, obj=user)
if form.validate_on_submit():
data = form.data
user.set(**data)
user.save()
flash("Your profile has been saved")
else:
flash("form did not validate on submit")
return self.render('user/profile.html', form=form, data=user)
user_view.add_view(Profile(name='Profile', url='profile'))
Po wysłaniu formularza wtforms nie zgłasza żadnych błędów (o ile istnieje), ale walidacja nie wrócić do mojego widoku profilu (reszta: gałąź jest zawsze wykonywana)
Nie ma sposobu, abym mógł znaleźć tę pracę, pomimo dokładnej zeskanowanej dokumentacji flask-admin, kodu źródłowego i przykładów.
Czy ktoś może zasugerować, w jaki sposób mogę naprawić mój kod lub obejść ten problem?
Dzięki Joes. Masz rację, problem był w Formie, ponownie użyłem właściwego formularza z innego modułu, ale szablon pomijał niektóre pola obowiązkowe. Dziękuję również za flask-admin, to świetna biblioteka! – user1981924
@Joes Tylko w przypadku, gdy znasz odpowiedź, zacząłem nagrodę w [to pytanie] (http://stackoverflow.com/q/33660840). :) –