我在我的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