回答編集履歴
1
Python文化の追記
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
```
|
15
|
+
```
|
16
16
|
|
17
17
|
python3 manage.py startapp usersapp
|
18
18
|
|
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
保守性が高いサービスの実現が可能です。例えばそれぞれの機能が独立したアプリになっていないと
|
46
46
|
|
47
|
-
ブログをイジったこと
|
47
|
+
ブログをイジったことで他のサービスに影響することもあるのです。
|
48
48
|
|
49
49
|
だから、データモデルもテンプレートもアプリ毎に定義するようになってます。
|
50
50
|
|
@@ -64,6 +64,56 @@
|
|
64
64
|
|
65
65
|
staticファイルやhtmlテンプレートの置き場所も開発中と運用中で違って当然です。それはsettings.pyをイジって変えれば済むことです。
|
66
66
|
|
67
|
+
|
68
|
+
|
67
69
|
初期の設定は
|
68
70
|
|
69
71
|
複数の人員での開発を想定しているので、アプリ内にその様なファイルを置く仕様になっているんですよ。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
Railsの経験があるようですが、開発言語が違ったらコーディングの哲学も変わります。
|
76
|
+
|
77
|
+
Djangoは良くも悪くも、Python文化です。
|
78
|
+
|
79
|
+
pythonコミュでは
|
80
|
+
|
81
|
+
暗示的な魔法のようなコードを嫌う傾向があります。
|
82
|
+
|
83
|
+
何でもきちんと明示的に定義する必要があります。
|
84
|
+
|
85
|
+
コード量は増えますが、誰が読んでも理解できるコードが好まれます。
|
86
|
+
|
87
|
+
試しにmanage.pyを開いて見てください
|
88
|
+
|
89
|
+
```python
|
90
|
+
|
91
|
+
def main():
|
92
|
+
|
93
|
+
"""Run administrative tasks."""
|
94
|
+
|
95
|
+
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'boardproject.settings')
|
96
|
+
|
97
|
+
try:
|
98
|
+
|
99
|
+
from django.core.management import execute_from_command_line
|
100
|
+
|
101
|
+
except ImportError as exc:
|
102
|
+
|
103
|
+
raise ImportError(
|
104
|
+
|
105
|
+
"Couldn't import Django. Are you sure it's installed and "
|
106
|
+
|
107
|
+
"available on your PYTHONPATH environment variable? Did you "
|
108
|
+
|
109
|
+
"forget to activate a virtual environment?"
|
110
|
+
|
111
|
+
) from exc
|
112
|
+
|
113
|
+
execute_from_command_line(sys.argv)
|
114
|
+
|
115
|
+
```
|
116
|
+
|
117
|
+
execute_from_command_line()関数は
|
118
|
+
|
119
|
+
コマンドラインを実行するって意味でしょうけど、見た瞬間「書いてあるままだー」って思いましたね。
|