質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Q&A

1回答

6512閲覧

Djangoにおける名前の付け方

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

0グッド

0クリップ

投稿2019/04/18 03:48

チャットを作りたいとします。

django-admin startproject chat とやると、chatフォルダができて、その中にまたチャットフォルダができます。

chat/ manage.py chat/ __init__.py settings.py urls.py wsgi.py

次にcd chat とやってフォルダに入ってから、django manage.py starapp chat とやりたいのですが、chatという名前がかぶってるのでできません。

つまり、プロジェクトフォルダの名前をchat以外にするか、アプリフォルダの名前をchat以外にする必要があります。

そこで質問ですが、Djangoでchatという名前のWebアプリを作りたい時、プロジェクトとアプリはどう命名するのがいいですか?

プロジェクトの方をchatと名付けてアプリの方をchat_appとかにするのか、プロジェクトをchat_projectなどとしてアプリをchatにするのか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

命名は方針によって異なるかと思いますが、
機能(モデル操作など)の単位でappにしたりしています。
(スケジュール機能の実装をするschedule appなど。
アプリに分けているものの、独立しておらず、複数のappが依存している状況もままあります)

今回単純にプロジェクトディレクトリ chat を別名にするのであれば、
例えばディレクトリを core などとリネームしてその後で chat app を作るというのはいかがでしょうか?その場合、ディレクトリをリネームした後で、 settings.py, wsgi.py, manage.py の該当箇所を変更すれば良いです。

patch

1--- a/chat/settings.py 2+++ b/core/settings.py 3@@ -49,7 +49,7 @@ MIDDLEWARE = [ 4 'django.middleware.clickjacking.XFrameOptionsMiddleware', 5 ] 6 7-ROOT_URLCONF = 'chat.urls' 8+ROOT_URLCONF = 'core.urls' 9 10 TEMPLATES = [ 11 { 12@@ -67,7 +67,7 @@ TEMPLATES = [ 13 }, 14 ] 15 16-WSGI_APPLICATION = 'chat.wsgi.application' 17+WSGI_APPLICATION = 'core.wsgi.application'

patch

1--- a/chat/wsgi.py 2+++ b/core/wsgi.py 3@@ -11,6 +11,6 @@ import os 4 5 from django.core.wsgi import get_wsgi_application 6 7-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'chat.settings') 8+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')

patch

1--- a/manage.py 2+++ b/manage.py 3@@ -3,7 +3,7 @@ import os 4 import sys 5 6 if __name__ == '__main__': 7- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'chat.settings') 8+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')

また、それ以外にappをすべてappsディレクトリの下に置き、一階層下げる、という運用もあるかと思います。(startappコマンドにはdirectoryのオプションがあります。startapp chat apps/chat)
その場合、AppConfigのnameにはディレクリ名を追加する必要があった気がします。

├── apps │ └── chat │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── chat │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py

python

1from django.apps import AppConfig 2 3 4class ChatConfig(AppConfig): 5 name = 'apps.chat'

投稿2019/04/18 05:21

編集2019/04/18 05:44
m-otomo

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問