我在我的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})创建你的表单 –
我只是试着传递我的变量list []来提供myMultipleChoiceField。 – GrandGTO