相关疑难解决方法(0)

WTForms创建自定义小部件

WTForms文档非常不合适,它们甚至没有向您显示自定义窗口小部件的一个示例,该窗口小部件不是从另一个窗口小部件派生的.

我想创建一个按钮类型,这不是<input>在HTML中:

submit = InlineButton(name='submit', type='submit', title='Save this page', textWithinSpan='Save')
Run Code Online (Sandbox Code Playgroud)

这就是我正在尝试的:

from flask.ext.wtf import Required, Length, EqualTo, Field, TextInput, html_params
from flask import Markup

class InlineButtonWidget(object):
  text = ''
  html_params = staticmethod(html_params)

  def __init__(self, input_type='submit', **kwargs):
    self.input_type = input_type

  def __call__(self, field, **kwargs):
    kwargs.setdefault('id', field.id)
    kwargs.setdefault('type', self.input_type)
    if 'value' not in kwargs:
        kwargs['value'] = field._value()
    return Markup('<button type="submit" %s><span>%s</span></button>' % (self.html_params(name=field.name, **kwargs), kwargs['textWithinSpan']))


class InlineButton(Field):
  widget = InlineButtonWidget()

  def __init__(self, label='', **kwargs):
    self.widget = InlineButtonWidget('submit', label)
  def __call__(self, …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

8
推荐指数
2
解决办法
7803
查看次数

如何使用 WTForms 呈现我的选择字段?

我有一个选择字段,其中某些元素已褪色和禁用,我想用 WTForms 呈现这些元素:

<select name="cg" id="cat" class="search_category">
<option value='' >{% trans %}All{% endtrans %}</option>  
<option value='' style='background-color:#dcdcc3' id='cat1'  disabled="disabled">-- {% trans %}VEHICLES{% endtrans %} --</option>
<option value='2'  {% if "2" == cg %} selected="selected" {% endif %} id='cat2' >{% trans %}Cars{% endtrans %}</option>
<option value='3' {% if "3" == cg %} selected="selected" {% endif %}   id='cat3' >{% trans %}Motorcycles{% endtrans %}</option>
<option value='4' {% if "4" == cg %} selected="selected" {% endif %}   id='cat4' >{% trans %}Accessories &amp; Parts{% endtrans …
Run Code Online (Sandbox Code Playgroud)

python forms web-applications jinja2 wtforms

5
推荐指数
1
解决办法
2万
查看次数