小编Pet*_*zuk的帖子

在django-crispy-forms中使用字段标签作为占位符

我正在考虑使用DRY方式为我的<input>HTML元素的占位符属性使用字段标签.我正在使用django-crispy-forms.

现在我有:

class FilterForm(Form):

    query = CharField(max_length=50, label='', required=False)

    def __init__(self, data=None, files=None, **kwargs):
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Field('query', placeholder='Search ...'),
        )
        super(FilterForm, self).__init__(data, files, **kwargs)
Run Code Online (Sandbox Code Playgroud)

但是,我不希望单独设置标签和占位符,因为这最终会有更多的字段,而且非常冗长.

你有什么建议?

django twitter-bootstrap django-crispy-forms

6
推荐指数
2
解决办法
7483
查看次数

在 Python 中查找所有可能的参数组合

我有一个具有以下签名的函数:

def function(a=None, b=None, c=None):
    # ... some more code ... 
Run Code Online (Sandbox Code Playgroud)

如果通过,a、b 和 c 只能是布尔值。

我想知道 a、b 和 c 的所有有效组合。

请注意,a、b 和 c 是可选的,因此可以使用最少 0 个参数和最多 3 个参数调用此函数。

我能够获得所有可能的参数组合:

arg_names = ['a', 'b', 'c']
arg_values = [None, True, False]

arg_combinations = []
for i in range(len(arg_names)):
    arg_combinations += list(
        itertools.combinations(arg_names, i + 1)
    )
Run Code Online (Sandbox Code Playgroud)

其中产生:

[('a',), ('b',), ('c',), ('a', 'b'), ('a', 'c'), ('b', 'c'), ('a', 'b', 'c')]
Run Code Online (Sandbox Code Playgroud)

但是我无法更进一步,创建参数和值的所有可能组合:

arg_value_combinations = []
for c in arg_combinations:
    arg_value_combinations += list(
        itertools.product(c, arg_values) …
Run Code Online (Sandbox Code Playgroud)

python combinatorics

1
推荐指数
1
解决办法
1497
查看次数