私はviews.pyのビューと私のforms.pyのフォームを持っています。 ビューの[]リストを私のフォームのMultipleChoiceFieldに渡す必要があります。ビューからフォームへのリストの受け渡し
これは私のコードですが、私は確かに何か...
多くのおかげ
views.py
def view_favorite(request):
media = settings.MEDIA
game_logo = settings.GAME_LOGO
if request.user.is_authenticated():
if request.method == 'POST' :
return render(request, 'favorite.html', locals())
else:
favs = FavoriteGames.objects.filter(user_id=request.user.id).values_list('game_id', flat=True)
list = []
for fav in favs:
game = Games.objects.get(id=fav)
list.append((game.id, game.guid, game.title, game.logo, "checked"),)
nogame = Games.objects.filter(~Q(id__in=favs)).values_list('id', 'guid', 'title', 'logo')
form = GamesEditorForm(list)
forms.py
class GamesEditorForm(forms.Form):
def __init__(self, list, *args, **kwargs):
super(GamesEditorForm, self).__init__(*args, **kwargs)
favorite_games = forms.MultipleChoiceField(
required=True,
initial=True,
widget=forms.CheckboxSelectMultiple(),
choices=list,
)
あなたの問題を正しく理解していれば、フォームに初期データが必要です。最初のデータを含むフォームを作成するには、ビューでform = YourForm(initial = {"form_field":initial_data)を使用してフォームを作成してください。 –
myMultipleChoiceFieldに変数リスト[]を渡すだけです。 – GrandGTO