0

画像のアップロードと編集に django の modelformset_factory フォームを使用しています。現在、フォームを表示すると、次のように既存のデータを含むフォームが表示されます。

  • フィールド名: 現在: 画像へのリンク (例: images/filename.jpg)
  • 変更: 画像入力フィールド
  • 削除するチェックボックス

(現在: 画像へのリンク (例: images/filename.jpg)) の表示を変更するにはどうすればよいですか? 代わりに画像名を表示するように画像リンクを変更し、ユーザーがクリックしたときに新しいウィンドウで開きたいと考えています。django のドキュメントをチェックしてフォームを手動でレンダリングしましたが、関連情報が見つかりませんでした。

ありがとうございました!

モデル:

class BaseImageAbstractModel(models.Model):
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type','object_id')

    class Meta:
        abstract = True

class ImageAbstractModel(BaseImageAbstractModel):
        user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
        name = models.CharField(max_length=50, blank=True)
        description = models.TextField(max_length=3000)
        picture = models.ImageField(upload_to='images')
        submit_date = models.DateTimeField(default=None)
        is_public = models.BooleanField(default=True)
        is_removed = models.BooleanField(default=False)

        class Meta:
            abstract = True

        def __str__(self):
            pass

class Image(ImageAbstractModel):    
    class Meta:
        verbose_name = "Image"
        verbose_name_plural = "Images"

        def __str__(self):
            return self.name
class ImageForm(BootstrapForm, ModelForm):

    class Meta:
        model = Image
        fields = ('picture', 'name')

ImgFormSet = modelformset_factory(Image, form=ImageForm, extra=5, can_delete=True)
4

1 に答える 1