PythonとFlaskフレームワークは初めてです。
私の問題は、編集ページを作成する必要があることです。したがって、すべてのオブジェクトの既存の情報をフォームに渡す必要があります。詳細:
私のオブジェクトはこの種の構造を持っています:
class TVChannel(Document):
__collection__ = 'tvchannels'
use_dot_notation = True
structure = {
'_id' : basestring,
'name' : unicode,
'streams' : {
'city1': {
'adapt' : basestring,
'hds' : basestring,
'hls' : basestring,
'rtmp' : basestring,
},
'city2': {
'adapt' : basestring,
'hds' : basestring,
'hls' : basestring,
'rtmp' : basestring,
}
}
}
とビューで:
channel_obj = db.TVChannel().get_id(channel_id) #load a channel's datas into an object from db
channel = ChannelForm(request.form, obj=channel_obj) #load channel form
return render_template('channel/new.html',form=channel, channel_id=channel_id)
彼らが理解し、通常のようにそれを渡すchannel_objectの「名前」。しかし、「ストリーム」は、それを認識せず、次のようなものに渡しませんでした。
class ChannelForm(Form):
_id = HiddenField()
name = TextField(_('channel name'))
streams = {
'city1': {
'adapt' : TextField(_('stream adapt link')),
'hds' : TextField(_('stream hds link')),
'hls' : TextField(_('stream hls link')),
'rtmp' : TextField(_('stream rtmp link')),
},
'city2': {
'adapt' : TextField(_('stream adapt link')),
'hds' : TextField(_('stream hds link')),
'hls' : TextField(_('stream hls link')),
'rtmp' : TextField(_('stream rtmp link')),
}
}
submit = SubmitField(_('Save'))
私は何をすべきか?または、オブジェクトのデータがフォームのパラメータに渡される方法を変更する方法はありますか?