如何获取选择字段值而不是表单中的键?
我有一个表单,我让用户为公司选择一些用户的电子邮件.例如,我有一个这样的形式(模型形式的原因是它在一个formset中 - 但这对于现在来说并不重要):
class Contacts(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(Contacts, self).__init__(*args, **kwargs)
self.company = kwargs['initial']['company']
self.fields['emails'].choices = self.company.emails
# This produces stuff like:
# [(1, 'email@email.com'), ...]
emails = forms.MultipleChoiceField(required=False)
class Meta:
model = Company
Run Code Online (Sandbox Code Playgroud)
我想在视图中获取所有选定电子邮件的列表,如下所示:
form = ContactsForm(request.POST)
if form.is_valid():
form.cleaned_data['emails'][0] # produces 1 and not email
Run Code Online (Sandbox Code Playgroud)
没有任何get_emails_display()方法,例如在模型中.此外,一个建议form.fields['emails'].choices不起作用,因为它提供了所有选择,而我需要类似的东西form.fields['emails'].selected_choices?
任何想法,或者让我知道它是否不清楚.
我有一个字符串变量var str = 'this is eeeeeeee';.我想替换此字符串中的每个字母e.当我这样做str.replace('e', 'E');时,它只对第一个e
我碰巧写了这个:
<input type="hdnStatus" name="hidden" value="1" />
Run Code Online (Sandbox Code Playgroud)
代替:
<input type="hidden" name="hdnStatus" value="1" />
Run Code Online (Sandbox Code Playgroud)
我很惊讶第一行生成了一个没有指定正确类型的文本框.
如果第一行生成文本框,则以下是任何用途的行:
<input type="text" name="tbox" value="" />
Run Code Online (Sandbox Code Playgroud)
绝对是.我的意思是渲染引擎应该足够聪明,拒绝任何不正确的输入.这样的事情总会造成混乱和问题.
那是怎么发生的?
这是浏览器的错还是其他什么?
或者这是错误的正确吗?
我正在使用direct_to_template网址,但我需要登录用户才能显示该网页.我怎么把它传递给direct_to_template?