Джанго формы - РадиоВыбор на лету - PullRequest
2 голосов
/ 13 января 2012

У меня проблема с django и формами.

В Forms.py у меня есть что-то вроде этого:

class MyForm(forms.Form):

def __init__(self, *args, **kwargs):
    self.answers = kwargs.pop('answers')
    super(AnswersForm, self).__init__(*args, **kwargs)

    choices = ["aaaa", "ssssssssss", "ddddddddd"]
    self.fields['answers'] = forms.ChoiceField(choices = choices, widget=forms.RadioSelect())

И когда я использую его в шаблоне, у меня есть что-то вроде этого:знаете, почему у меня не все слова, а только одна буква слова?

1 Ответ

2 голосов
/ 13 января 2012

choices должен быть списком (или другим итерируемым) из двух кортежей. Первая запись в каждом кортеже - это значение, которое сохраняется в базе данных. Второе - это читаемое имя. Для получения дополнительной информации см. Документацию по choices.

Таким образом, ваш список choices должен выглядеть примерно так:

choices = [("a","aaaa"), ("s", "ssssssssss"), ("d", "ddddddddd")]

После публикации ваш код рассматривает каждую строку (aaaa, ssssssss и т. Д.) Как кортеж и получает первую букву каждой для представления базы данных и вторую букву каждого для удобочитаемого имени (используется для метки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...