2

backed で web.py を使用してフォームを生成しています。ブートストラップ フォーム クラスも使用したいと考えています。これは私のhtmlのスニペットです

  <form name="test" method="POST"> 
  $:form.render()
  <input type="submit" name="button" value="Login" />
  </form>

これは、web.py によって生成されると、

<form name="login" method="POST" class = "register"> 
<table>
    <tr><th><label for="username">Username:</label></th><td><input type="text" id="username" name="username"/></td></tr>
    <tr><th><label for="password">Password:</label></th><td><input type="password" id="password" name="password"/></td></tr>
    <tr><th><label for="password_again">Repeat your password:</label></th><td><input type="password" id="password_again" name="password_again"/></td></tr>
</table>
<input type="submit" value="Register" />
</form>

でも。これにより、コードにブートストラップ機能を追加することが難しくなります。ブートストラップ Web サイトからの直接の一例は次のとおりです。

<form>
  <fieldset>
    <legend>Legend</legend>
    <label>Label name</label>
    <input type="text" placeholder="Type something…">
    <span class="help-block">Example block-level help text here.</span>
    <label class="checkbox">
      <input type="checkbox"> Check me out
    </label>
    <button type="submit" class="btn">Submit</button>
  </fieldset>
</form>

この種の機能をフォームに追加することは可能ですか?

4

2 に答える 2

1

$:form.render_css()代わりに使用してください。

于 2013-07-26T21:40:04.377 に答える
0

メソッドFormを変更したクラスから継承したクラスを書きました。render_css次のようになります。

class bootstrap_form(form.Form):
def render_bootstrap(self):
    from web import net
    out = []
    out.append(self.rendernote(self.note))
    for i in self.inputs:
        out.append('<div class="form-group">')
        if not i.is_hidden():
            out.append('<label for="%s">%s</label>' % (i.id, net.websafe(i.description)))
        out.append(i.pre)
        out.append(i.render())
        out.append(self.rendernote(i.note))
        out.append(i.post)
        out.append('</div>')
        out.append('\n')
    return ''.join(out) 

これが役に立つことを願っています。

于 2015-02-23T18:50:17.340 に答える