擅长:python、mysql、java
<p>问题很简单,字段的所有参数都是在表单定义时计算的。因此,<code>domains</code>的初始值被设置为在定义表单时(通常是在服务器启动时)从<code>spamsource()</code>返回的值。你知道吗</p>
<p>解决这个问题的一种方法是重写表单的<code>__init__</code>方法,并在那里设置域的初始值:</p>
<pre><code>class SpamForm(forms.Form):
domains = ...
def __init__(self, *args, **kwargs):
super(SpamForm, self).__init__(*args, **kwargs)
self.fields['domains'].initial = spamsource()
</code></pre>
<p>或者,可以在视图中实例化窗体时设置初始值:</p>
<pre><code>form = SpamForm(initial={'domains': spamsource()})
</code></pre>