データベースのフィールドの値を使用する RadioField フォーム アイテムがあります。
データベースが作成されていない場合、そのページに移動してそのフォームをロードしたときにのみデータベースにアクセスする必要がありますが、Flask Web サーバーを起動できません。
Web サーバーの実行中にデータベースを更新すると、新しいデータベース情報を含むフォームが表示されません。
Flask Webサーバーを再起動するまで。
ページにアクセスしたときにフォームがデータベースから値をリロードするようにするにはどうすればよいですか。
また、データベースを削除でき、Flask Webserver が引き続き実行され、RadioField が引き続き表示されるため、RadioField の値がメモリに格納されていると確信しています。
私はsqlite3データベースを使用しており、APSW(別のpython sqlite3ラッパー)で読み書きしています
これは私のフォームです
class DatabaseForm(Form):
listOfRows = db.getDatabase()
rows = [(str(x[0]), x) for x in listOfRows]
images = RadioField('images', validators = [Required()], choices = rows)
これが私の見解です
@app.route('/database', methods = ['GET', 'POST'])
def database():
''' displays the database and allows the user to select an entry '''
form = DatabaseForm()
if form.validate_on_submit():
primaryKey = form.images.data
primaryKey = int(primaryKey)
myProgram.start(primaryKey)
return render_template('simple.html', word = "SUCCESS")
else:
print form.errors
return render_template('database.html', form=form)