2012-02-05 11 views
1

いつ新しいアプリケーションを作成するのか、Djangoプロジェクトのmodels.py、views.pyなどを埋め続けることはできません。私は "Question app"を含むDjangoプロジェクトを作った。Djangoプロジェクトのアプリケーション

私は質問を管理するつもりです。ユーザーは、報告し、閲覧し、質問を追加することもできます。

私は管理ページ用に1つ、一般公開用に1つのアプリを作成しますか?私はPythonのチャットです...

+2

あなたはhttp://stackoverflow.com/a/4879205/1114171またはhttp://www.b-list.org/weblog/2006/sep/10/django-tips-laying-out-application/を読んでください –

答えて

0

自分自身に質問 "私のアプリは何ですかですか?"あなたは1つの文で答えることはできません。次に、それを分割して分割する必要があります。

しかし、一般的には、管理インターフェースと公開インターフェースを同じ「アプリ」にしておきたいが、別々に名前を付けることができます。

-- questions/ 
|-- models.py # holds common models, imports models from backend/models.py 
|-- admin.py # admin interface' 
|-- frontend/ 
| |-- urls.py 
| |-- views.py 
| `-- ... 
`-- backend/ 
    |-- urls.py 
    |-- views.py 
    `-- models.py # holds specialist models. set Meta: app_label = 'questions.backend' 

Aspect Oriented Programmingのガイドラインは、懸念の分離です。つまり、モジュールをできるだけ小さくしてフォーカスを保つようにする必要があります。彼らは1つのことと1つのことだけを行うべきです。 root models.pyは子モジュールから任意の数のモデルをインポートすることができ、アプリの一環としてdjangoが選択するので、同じ場所にすべてを格納する必要性を感じないでください。