web-dev-qa-db-ja.com

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

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

  1. my_Django_app
  2. my-Django-app 更新:構文的に許可されていません
  3. mydjangoapp推奨ソリューション

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

考え?

98
Matthew Rankin

有効なパッケージ名でなければなりません。これは2を除外します(「my-Django-appのインポート」は構文エラーになります)。 PEP 8 言います:

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

したがって、1と3は両方とも有効ですが、3が推奨されるアプローチです。

88
thraxil

アプリのディレクトリ名は有効なPythonパッケージ名である必要があります。これは、オプション2がパッケージ名として完全に受け入れられないことを意味します。オプション3を希望する場合は、それを使用します。

いくつかの良い例

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

簡単な言葉で、 app_nameには、すべて小文字の短い名前を付ける必要があります。読みやすさを改善する場合は、モジュール名にアンダースコアを使用できます。また、短い名前を持つ必要があり、複数形と単数形の名前にすることができます

4
Jamil Noyda

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

0
Guard