2017-02-20 10 views
1

私はDjango/Pythonの初心者ですが、何かを理解しようとしています。1つのWebサイトで複数のDjangoプロジェクトを実行できますか?

私は、いくつかの異なるオンラインコースを通じて完成したPythonプロジェクトとDjangoプロジェクトの一部を担当する個人用Webサイトを作成しようとしています。

私のサーバー上のプロジェクトディレクトリをリンクしてアセンブルする最善の方法を考え出すのは難しいことです。

私の最初のプロジェクトは、自分のブログ自体のファイルです。私は、私のdjangoプロジェクトの別のものを収めているブログプロジェクトと同じホームルートに新しいディレクトリを作成しました。私のブログから2番目のプロジェクトにどのようにリンクしているのか、ちょっとした援助を探しています。

ブログのurls.pyファイルを使って2番目のプロジェクト(つまりprojects/project2)へのリンクをリダイレクトすることができたと思っています。ブログのappsのview.pyファイルのビュー定義を利用しています。しかし、その後、私は第二のプロジェクトへのリンクをどのようにレンダリングするのかが分かりません。

今後のガイダンスは大変ありがたいです。

+0

あなたは、[プロジェクトとアプリケーションの間の差]に慣れている(https://docs.djangoproject.com/en/1.10/ref/applications/#projects-and - アプリケーション)? – Chris

+0

私はそう信じます。私がこの質問をしている唯一の理由は、これらの「プロジェクト」がプロジェクトとして構築されていることです。アプリケーションはありませんが、私はそれについて考え始めます。私がしようとしていることは、物事をするの。 –

答えて

0

一般に、別のドメイン(必ずしもサブドメインではない)で提供されるのが理にかなっているものは、必ずしも別個のプロジェクトであることが望ましいでしょう。例外的なケースは、ほぼ同じ機能を持ち、同じ組織内で異なるブランドを持つプロジェクトです。そのような場合、Djangoの組み込みのsites frameworkが考えられます。

異なるプロジェクトの場合、異なるwsgi/portのバインディングとプロセスとともに異なるプロジェクトルートが必要です。展開例として、単一のnginx設定内にリストされていてもかまいません。別の一般的な方法はDockerを使用していますが、展開方法は異なります。

異なるアプリケーション 1つのプロジェクトには、1つのバインディングと1つのルートしかありません。アプリを作成し、settings.pyurls.pyにリストします。 1回の展開でサブドメインが必要な場合は、tkaemming/django-subdomainsが役に立ちます。

異なるポリシー(ほとんどの場合)別のドメインにある単一のアプリケーションでは、sites frameworkについて学んでください。ビューの違いをコードに渡す必要があります。

のように...

+0

これは偉大な概要ですありがとう –

関連する問題