1

複数のサイトの概念を自分のプロジェクトに実装したいと考えています。そのために、django の公式のサイト フレームワークチュートリアルやその他のチュートリアルも学習しました。

しかし、ドキュメントに示されているように、複数のサイトIDが使用されているため、どこから始めるべきか少し混乱しています.しかし、私はいつものように1つ持っています. また、一部のドキュメントでは、HTTPD.confファイルで編集が行われています。

どこから始めるべきか、ドキュメントから理解できませんでしたか?

ですから、マルチサイトを実装する手順を教えてください。

4

1 に答える 1

1

これは非常に単純な原則です。サイトを定義するサイト モデルがあり、モデルでこのモデルを参照します。たとえば、ブログ アプリケーションを作成すると、次のようになります。

サイト モデル:

ID | domain             | name
1  | site-a.example.com | John's blog
2  | site-b.example.com | David's blog

ブログ記事:

ID | site_id | title                         | ...
1  | 1       | Some title for John's article | ...
2  | 1       | Another post by John          | ...
3  | 2       | David's blog post             | ...

これは Web サーバーにどのように展開されますか? ブログ アプリのコードはすべてのブログで同じなので、サイト a とサイト b のインストールでインポートできる Python パスのどこかに配置します (通常、virtualenv を作成し、そこにブログ アプリをインストールします)。ここで、両方のドメイン (site-a.example.com と site-b.example.com) に 2 つの仮想 Web を作成し、サイトごとに個別の django プロジェクトを作成します (これは、通常のプロジェクトというよりもサイト プロファイルに似ています)。では、どのプロジェクトがどのブログのものか、どうすればわかりますか? そのようなブログのサイト ID を指すすべてのプロジェクト設定で SITE_ID 定数を定義し、特定のブログのすべての記事を一覧表示するには、現在のサイトをフィルター条件に追加します。

于 2012-10-29T10:51:15.353 に答える