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)
その本当に私のために働いて、感謝を。それは私をねじっていた – dungu
ねえ、これは実際にはFBVで動作しているが、クラスベースのビューでチェックボックスを示しています。 – dungu