繁体   English   中英

Django中的多选表单字段

[英]Multi choice form field in Django

我在app-engine-path上开发应用程序。 我想用选择题(可以接受的用户语言)制作表格。 代码如下:

语言设定:

settings.LANGUAGES = ((u"cs", u"Čeština"), (u"en", u"English"))

表格模型:

class UserForm(forms.ModelForm):
    first_name = forms.CharField(max_length=100)
    last_name = forms.CharField(max_length=100)

    languages = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,
                                          choices=settings.LANGUAGES)

表单显示正常(所有语言都有复选框。ID,NAME可以。)但是,如果我为用户保存了一些语言,则这些语言不会复选框。

用户模型如下所示

class User(User):
  #...
  languages = db.StringListProperty()
  #...

并查看:

def edit_profile(request):
    user = request.user

    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            # ...
    else:
        form = UserForm(instance=user)        
    data = {"user":user, "form": form}
    return render_to_response(request, 'user_profile/user_profile.html', data)

我是这样解决的:

some_view(request):
    ...
    form = UserForm(instance=user, initial={"languages":user.languages})  
    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM