0

最初の画像をデフォルトで選択可能にする必要があります。現在は機能していますが、ユーザーがおすすめ画像を選択した場合にのみ有効です。最初の画像をデフォルトでmodelformset_factoryの特徴として選択します。

Forms.py

class ImageForm(forms.ModelForm): 
image = forms.ImageField(label='Image') 
def __init__ (self, *args, **kwargs): 
    super(ImageForm, self).__init__(*args, **kwargs) 
    self.fields['featured'] = forms.BooleanField(widget = forms.RadioSelect(choices=((self.prefix, 'featured'),))) 

    class Meta: 
    model = Images 
    fields = ['image', 'featured', ] 

models.py

from __future__ import unicode_literals 

from django.db import models 
from django.contrib.auth.models import User 
from django.utils.text import slugify 
# Create your models here. 


class Post(models.Model): 
user = models.ForeignKey(User) 
title = models.CharField(max_length=128) 
body = models.CharField(max_length=400) 

def __str__(self): 
    return self.title 

def get_image_filename(instance, filename): 
title = instance.post.title 
slug = slugify(title) 
return "post_images/%s-%s" % (slug, filename) 




class Images(models.Model): 
post = models.ForeignKey(Post, default=None) 
image = models.ImageField(upload_to=get_image_filename, 
          verbose_name='Image',) 
featured = models.BooleanField(default=True) 

答えて

1

は、ラジオボタンを事前にチェックRadioSelectchecked属性を渡します。 HTMLラジオボタンをチェックするには、あなたが使用します。

checkedは、input要素のブール属性である
<input type="radio" checked> 

。だから、属性を設定するattrs辞書を追加します。

widget = forms.RadioSelect(attrs={'checked': 'true'}, choices=((self.prefix, 'featured'),)) 
+0

その本当に私のために働いて、感謝を。それは私をねじっていた – dungu

+0

ねえ、これは実際にはFBVで動作しているが、クラスベースのビューでチェックボックスを示しています。 – dungu

関連する問題