Я разрабатываю приложение по 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)
Форма предоставлена в порядке. (все языки имеют флажки. Идентификаторы, Имена в порядке.)
Но если я сохраню некоторые языки для пользователя, эти языки не отметят флажки.
Модель пользователя выглядит следующим образом
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)