あなたが使用を止めることは何myproduct.myproduct
ですか?これを達成するために必要なことは、おおよそこれを行うことで構成されています。
django-admin.py startproject myproduct
cd myproduct
mkdir myproduct
touch myproduct/__init__.py
touch myproduct/models.py
touch myproduct/views.py
等々。views.py
呼び出す必要がないと私が言った場合、それは役に立ちviews.py
ますか?Pythonパスで、処理される関数(通常はpackage.package.views.function_name)に名前を付けることができる場合に限ります。そのような単純な。このすべての「プロジェクト」/「アプリ」のものは、単なるpythonパッケージです。
さて、どうすればいいの?むしろ、どうすればいいですか?さて、あなたは再利用可能な機能の重要な部分を作成した場合、のようなあなたが含まれている場合があります「トップレベルのアプリ」を作成するときのマークアップエディタ、と言うwidgets.py
、fields.py
、context_processors.py
インポートする可能性があるすべてのもの-など。
同様に、インストール全体でかなり一般的な形式でブログのようなものを作成できる場合は、独自のテンプレート、静的コンテンツフォルダーなどを使用してブログをアプリにラップし、それを使用するようにdjangoプロジェクトのインスタンスを設定できますアプリのコンテンツ。
これを実行しなければならないという明確な規則はありませんが、これはフレームワークの目標の1つです。すべてのテンプレートが含まれているため、共通のベースから含めることができるという事実は、ブログを他の設定にぴったりと合わせる必要があることを意味します。
ただし、実際の懸念に対処するために、はい、トップレベルのプロジェクトフォルダーを操作できないということはありません。それはアプリが行うことであり、本当にやりたいならそれを行うことができます。しかし、私はいくつかの理由でそうしない傾向があります:
- Djangoのデフォルトのセットアップはそれを行いません。
- メインアプリを作成することがよくあるため、通常はと呼ばれるアプリを作成します
website
。しかし、後日、このサイトのためだけに独自の機能を開発したいと思うかもしれません。それを取り外し可能にするために(私が行ったかどうかにかかわらず)、別のディレクトリを作成する傾向があります。これは、グローバルなurls.pyフォルダーから適切なURLを複雑に削除するのではなく、構成からパッケージをリンク解除してフォルダーを削除するだけで、上記の機能を削除できることも意味します。
- たいていの場合、私が何かを独立させたい場合でも、それを世話したり、独立させたりするには、どこかに住む必要があります。基本的に上記のケースですが、私は一般的なものにするつもりです。
- 私の最上位フォルダには、wsgiスクリプト、sqlスクリプトなど、他にもいくつかのものが含まれていることがよくあります。
- djangoの管理拡張機能はサブディレクトリに依存しています。したがって、パッケージに適切な名前を付けることは理にかなっています。
要するに、規約がある理由は他の規約と同じです-それはあなたのプロジェクトで働いている他の人になると助けになります。私が見た場合fields.py
、私はすぐに私が見た場合のに対して、Djangoのフィールドをサブクラス化することで、コードを期待してinputtypes.py
、私はそれを見ずに何を意味その上それほど明確ではないかもしれません。