これが正しい方法かどうかはまだわかりませんが、そうではないかもしれませんが、とにかく質問します。Djangoで自分自身をもっと単純にしたとしても、ワードプレスを書き直したいと思います(正当化:できるからです)。ページ上でさまざまな方法で要素を構成できるようにしたいと思っています。たとえば、次のようになります。
- ブログモデル
- サイト更新メッセージモデル
- 最新のコメントモデル。
ここで、サイトの各ページについて、ユーザーがそのページの順序とアイテムを選択できるようにします。私の思考プロセスでは、これは次のように機能します。
class Page(models.Model)
Slug = models.CharField(max_length=100)
class PageItem(models.Model)
Page = models.ForeignKey(Page)
ItemType = models.CharField(max_length=100) # tells me which model to display
InstanceNum = models.IntegerField() # tells me which instance of which model...
次に、理想的には、私のテンプレートはページ内のすべてのPageItemをループするので、簡単に実行できます。
しかし、私のページアイテムがブログ投稿ではなくサイト更新である場合はどうなりますか?基本的には、さまざまなアイテムタイプをさまざまな順序で引き出し、適切なテンプレートを使用して表示したいと考えています。さて、これを行う1つの方法は、views.py
すべてのオブジェクトをループして適切なビュー関数を呼び出し、HTMLを文字列として返し、それを結果のテンプレートにパイプすることだと思いました。
私の質問は-これは物事を行うための最良の方法ですか?もしそうなら、どうすればいいですか?そうでない場合は、どちらに行くべきですか?私はDjangoにかなり慣れていないので、Djangoで何ができるのか、何ができないのかをまだ学んでいます。ご容赦ください。私はSOの重複をチェックしましたが、これは以前に尋ねられたことがないと思います...
また、Django-cmsを調べて、それが役立つかどうかを確認しましたが、理解できませんでした。
助言がありますか?