Djangoアプリの命名規則はありますか


115

複数の単語で構成されるDjangoアプリを作成するための推奨される命名規則はありますか?たとえば、次のうちどれが好ましいですか?

  1. my_django_app
  2. my-django-app 更新:構文的には許可されていません
  3. mydjangoapp 推奨される解決策

一方でそれらのすべてがかもしれ オプション1と3がされている構文上許され、好みはありますか?Djangoがアプリ名とモデル名をアンダースコアで結合してテーブル名を作成する方法を見ると、オプション#1に頼っています。

考え?

回答:


108

それらは有効なパッケージ名でなければなりません。それは2を除外します( "import my-django-app"は構文エラーになります)。PEP 8は言う:

モジュールには、すべて小文字の短い名前を付ける必要があります。読みやすさを向上させる場合は、モジュール名にアンダースコアを使用できます。Pythonパッケージも、すべて小文字の短い名前にする必要がありますが、アンダースコアの使用はお勧めしません。

したがって、1と3はどちらも有効ですが、3をお勧めします。


1
この問題に関する役立つブログ投稿、拡大するだけです:streamhacker.com/2011/01/03/django-application-conventions
Akhorus

7
こんにちは@ surfer190。Djangoの2つのスクープには、多数の優れたプラクティスが含まれています。彼らは単数形を選択します:ブログ。モデルを作成する場合も同じ選択です。ブログはブログよりも優先されます。
Wim Feijen、2017年

2
下線は読みやすさを向上させ、一般的に使用されているため、一般的にはアンダースコアの使用をお勧めします。たとえば、django_extensionsとdjango_debug_toolbarを頻繁に使用します。
Wim Feijen 2017年

14
@WimFeijen、少なくともここでは、Djangoの2つのスクープが、アプリ名に「アプリのメインモデルの複数バージョン」を使用することを推奨しているようです。
Caco

私は修正された立場です。これを調べ、私を教育してくれた@Cacoに感謝します。
Wim Feijen 2017年

11

いくつかの良い例

  • graphene_django
  • ユーザー
  • 注文
  • oauth2_provider
  • rest_framework
  • 世論調査

簡単に言うとapp_name、すべて小文字の短い名前にする必要があります。読みやすさを向上させる場合は、モジュール名にアンダースコアを使用できます。また、短い名前にする必要があり、それは複数の単数の名前にすることができます


7

アプリディレクトリ名は、有効なPythonパッケージ名である必要があります。つまり、オプション2はパッケージ名として完全に許可されていませんが、ドキュメンテーションなどの他の目的には使用できます。結局、それは個人的なスタイルに帰着します。オプション3を使用する場合は、それを使用してください。


0

私は1と3に投票していますが、いくつかの人気のあるアプリを確認できます。http//www.django-cms.org/ http://geodjango.org/


2
さらに多くのアプリがここにあります:djangopackages.org。INSTALLED_APPS設定で「django_debug_toolbar」を使用する必要がある一方で、パッケージはマイナス記号を使用してしばしば命名されることに注意してください:django-debug-toolbar。
Wim Feijen 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.