1
我想創建一個圖像網站與類似的形式添加帖子Imgur。一個帖子應該由無限制構成完成的博客帖子的各種類型的塊(文本,圖像,視頻)的數量。帖子由塊(文字,圖像,視頻)
用戶選擇要啓動哪個塊(可能上傳圖像),然後通過單擊按鈕添加另一個塊。
我找不出一個合理的模塊來組成一個帖子。
這是我的Post模型:
class Post(models.Model):
author = models.ForeignKey('auth.User')
text = models.TextField() #just a placeholder until blocks work
created_date = models.DateTimeField(
default=timezone.now)
isWaiting = models.BooleanField(default=True)
isLocked = models.BooleanField(default=False)
views = models.IntegerField(default=0)
tags = TaggableManager(help_text="")
我不知道我是否應該定義文本塊,imageblock和videoblock獨立的模型(所有ForeignKey的發佈與模型)或是否有更好的解決方案。
我想到了一個通用模型,它可以存儲用於每個塊類型的TextField(用於用戶寫入的文本)和FileField(用於圖像和視頻上載),但每個記錄中的一個字段總是空的(用戶只能寫文本或每塊上傳文件),這看起來像是「浪費空間」。
我很感謝解決這個問題的任何想法。
你是對的。您需要爲文本文章,圖片,文件或其他任何您需要的文件提供多種模型。他們都應該有一個郵政和一個訂單字段的FK。就像這裏的例子:https://www.mitsubishi-motors.com.au/blog/8-essentials-prepare-awesome-couples-road-trip/每個博客文章是不同類型塊的組合。 –
感謝您的安慰!我發現它在Mistsubishi的網站上非常漂亮。還有一個問題 - 據我所知,我應該在Django中使用Formsets來創建和處理完成的帖子,並且(JS + AJAX)添加額外的塊。我在正確的軌道上嗎? – leszcz