人々は、Django を昔ながらの強力なモノリス アプリの構築、または API を使用してフロントエンドに React のようなものを使用することを検討する傾向があると思います。私がここで伝えたいのは、昔ながらの Django は個人の Web サイトにとっても優れた選択肢であるということです。私の意見では、データベースが必要な場合は、Django1.
を使用する必要があります。Django は「バッテリーが組み込まれた」フレームワークとみなされており、そのバッテリーは素晴らしいものです。これらの理由から、私は他のフレームワークではなく Django を使い続けています。
Django ORM は、このフレームワークを使用する大きな理由です。すべての Web フレームワークに ORM が含まれているわけではないことに驚いています。 SQL を最初から書くのが大好きでない限り、これがアプリを構築する正しい方法です。モデルを定義し、それらのモデルからデータベース移行を作成し (ほとんどの場合 自動的に)、データベースで移行を実行すれば準備完了です。中途半端なモデルを作成する必要はなく、スキーマ2を推定できる一連の移行も必要ありません。データに関して必要なすべての情報はmodels.pyファイルにあり、すべてがそこから流れます。
これが一番大きいです。これは CMS ではありません。これは ORM の GUI に近いものです。モデルを定義した後は、非常に小さな構成で、CRUD コードを記述することなくデータを管理できます。これはアプリケーションのフロントエンドではありません。エンドユーザー向けのCMSではありません(おそらく)。これは、管理者がサイトに簡単に変更を加える方法です。
これは私にとって非常に身近で大切なことですが、業界の残りのほとんどの人々は忘れているようです。簡単に言えば、基本レベルの機能は、JavaScript が失敗した場合でも実行できる必要があります。アプリは、少なくともフロントエンド スクリプトなしでゆっくりと動作できる必要があります。 SPA でそれを行うのは悪夢です。実際のバックエンド フレームワークと htmx や Unpoly などのツールを使用してこれを行うのは簡単です。現状から常識へと視点を変えるだけです。
従来のアプリケーション フレームワークはモデル、ビュー、コントローラーの設計パターンを使用します。 Django は要素に少し異なる名前を付けています。
これは Django で解決された問題です。本当にいいですね!これについてはさらに知るべきことがたくさんあり、生成された移行ファイルを実行する前に 確認する必要があります 。 および この作業を手動で行う必要がある場合もありますが、これが使い方の核心です:
./manage.py makemigrations # It tells you what it did. ./manage.py migrate # Database updated!
それでおしまい! ?
ここで私自身の小さなプロジェクトにお金を注ぎます。これを読んでいると思われる個人開発者のあなたにとって良いニュースは、非営利目的での使用は無料だということです。最終的にそれを使用し、それが商用アプリケーションの構築に役立ったとしても、費用は 100 米ドルのみです 1 回 。さあ、それはかなりの価値があります!
最終的にキット全体を使用しなくても、コード内で使用しているテクニックに目を通すことをお勧めします。これは、Django をほぼ初期から使用してきた私にとって、苦労して勝ち取ったものです。私は Docker と Postgres でそれを使用する段階を経験しましたが、これが Django を試してみたいと思っている 99% の人にとって の方法であると私は本当に信じています。 SQLite は素晴らしいです。
残念ながら、これが個人 Web サイトを対象とした他のオプションではなく Django を選択することの主な欠点です。 Blaze.horse では、簡単にできるように設定してみましたが、それでも必要以上に面倒です。 Button や Appliku など、期待を抱かせる新進気鋭のプロジェクトはいくつかありますが、個人的には今のところ Fly に満足しています。
これを読んだ後、次回何かを構築する必要があるときに Django のことを念頭に置いていただければ幸いです。お手伝いできることがあれば言ってください!
CMSが必要な場合は、Kirbyを使用する必要があります。 CMS が必要な場合は、確かに静的サイト ジェネレーターを使用すべきではありません。 FFS ↩
Laravel ↩
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3