初めてDjangoを使っています。
これまでの主な制作経験はPHP(Codeigniter)などです。
Railsなどもいじっております。
今回お聞きしたいのは、「python manage.py startapp」のコマンドで作られる
一連のファイルをどのようにとらえればよいかです。
pythonにはコントローラという言葉が存在していないようです。
その役割をおっているのがviews.pyかと思いますが、単純に一つのappに存在する
views.pyが一つのコントローラと考えて、機能ごとにアプリを作るのが普通でしょうか?
ただし、その場合はstaticやhtmlのベースファイルがapp内に存在するのはおかしいので
デフォルト設定を変更してappと同じ階層に作り直す必要があります。
感覚的にはこの構成が正解かと思っています。しかし、他のapp内のモデルを使いたい場合なども出てくるのでなぜフォルダ管理しているのか首をかしげます。
もしくはappフォルダひとつが一つのWEBサービスと考えることもできるかと思います。
どうにも市販の教材はこのようにとらえているようですがコントローラとアクションの考え方に慣れた私にはどうにもしっくりきません。この場合はviews一枚でコントローラ的な管理は厳しいのでクラスファイルを複数作成していく形になるかと思いますが、いずれにせよコントローラとアクションという役割分担はできていないと思います。
マニュアルも読んでいる最中ですが、基本的な制作の構成に関してご教授いただけるとありがたいです。
*追記
これから検証しますが、モデルが別のアプリフォルダ内にあっても外部キーを設定してあれば
結合は自動で行われているかもしれません。
また、urlsのurlpatternsは各アプリ間で上書きされていることから一続きの処理だということもわかりました。やはり基本的には他のフレームワークにおける1コントローラをフォルダとしてまとめており、views.pyの関数がアクションを担当しているという認識で正しいのかもしれません。ご意見お願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。