Saya rasa orang ramai cenderung untuk mempertimbangkan Django sama ada untuk membina apl monolit berkekuatan industri lama atau untuk API dan menggunakan sesuatu seperti React untuk bahagian hadapan. Saya di sini untuk memberitahu anda bahawa Django lama biasa ialah pilihan yang bagus walaupun untuk tapak web peribadi anda! Pada pendapat saya, jika anda memerlukan pangkalan data, anda harus menggunakan Django1.
Django dianggap sebagai rangka kerja "termasuk bateri", dan bateri itu hebat. Ini adalah perkara yang membuatkan saya menggunakan Django berbanding mana-mana rangka kerja lain.
ORM Django ialah sebab besar untuk menggunakan rangka kerja. Saya berasa hairan kerana tidak semua rangka kerja web termasuk ORM. Melainkan anda peminat tegar menulis SQL dari awal, ini adalah cara yang betul untuk membina apl. Anda mentakrifkan model, anda membuat migrasi pangkalan data daripada model tersebut (kebanyakannyasecara automatik), jalankan migrasi pada pangkalan data anda dan anda boleh pergi! Tidak menulis model separuh kemaluan serta beberapa siri migrasi yang membolehkan anda menyusun skema2.Semuamaklumat yang anda perlukan tentang data anda ada dalam fail models.py anda dan semuanya mengalir daripada itu.
Ini yang besar. Ia bukan CMS; ia lebih kepada GUI untuk ORM. Selepas anda mentakrifkan model anda, anda boleh, dengan konfigurasisangat sedikit, mengurus data tersebut tanpa perlu menulis sebarang kod CRUD. Ia bukan bahagian hadapan aplikasi anda. Ia bukan CMS untuk pengguna akhir (mungkin). Ini adalah cara untuk pentadbir membuat perubahan pada tapak dengan mudah.
Ini sangat dekat dan sayang di hati saya, tetapi kebanyakan industri kita yang lain nampaknya sudah terlupa. Ringkasnya; kefungsian peringkat asas sepatutnya boleh dilakukan walaupun JavaScript gagal. Apl anda seharusnya dapat sekurang-kurangnya tempang tanpa skrip bahagian hadapan. Melakukannya dengan SPA adalah mimpi ngeri. Melakukannya dengan rangka kerja bahagian belakang sebenar serta alat seperti htmx atau Unpoly adalah remeh. Anda hanya perlu menukar perspektif anda daripada status quo kepada akal sehat.
Walaupun rangka kerja aplikasi tradisional menggunakan corak reka bentuk Model, View, Controller; Django menamakan elemen mereka sedikit berbeza.
Ini adalah masalah yang diselesaikan di Django. Ia sangat bagus! Terdapat banyak lagi yang perlu diketahui tentangnya dan andaperlumelihat fail migrasi yang dijana sebelum menjalankannya,danada kalanya anda perlu melakukan perkara ini secara lebih manual, tetapi ini adalah asas penggunaannya:
./manage.py makemigrations # It tells you what it did. ./manage.py migrate # Database updated!
Itu sahaja! ?
Di sinilah saya bersedia untuk projek kecil saya sendiri. Berita baik untuk anda, pembangun solo yang saya bayangkan sedang membaca ini, ialah ia percuma untuk kegunaan bukan komersial. Jika anda akhirnya menggunakannya dan ia membantu anda membina aplikasi komersial, ia hanya $100 USDsekali. Ayuh, itu sangat bernilai!
Walaupun anda tidak menggunakan keseluruhan kit, saya menggesa anda untuk menyemak teknik yang saya gunakan dalam kod. Itu perkara yang sukar diperolehi selepas menggunakan Django hampir sejak permulaannya. Saya melalui fasa menggunakannya dengan Docker dan Postgres, tetapi saya benar-benar percaya inicarauntuk 99% orang yang ingin mencuba Django. SQLite sangat mengagumkan.
Malangnya, ini adalah kelemahan utama memilih Django berbanding pilihan lain yang disasarkan pada tapak web peribadi. Dengan Blaze.horse, saya telah cuba menyediakan anda untuk masa yang mudah, tetapi ia masih lebih licik daripada yang sepatutnya. Terdapat beberapa projek yang akan datang yang memberi saya harapan, seperti Button dan Appliku, tetapi saya secara peribadi gembira dengan Fly buat masa ini.
Selepas membaca ini, saya harap anda akan mengingati Django pada kali seterusnya anda perlu membina sesuatu. Beritahu saya jika saya boleh membantu!
Jika anda memerlukan CMS, anda harus menggunakan Kirby. Andasudah tentutidak sepatutnya menggunakan penjana tapak statik jika anda memerlukan CMS. FFS ↩
Laravel ↩
Atas ialah kandungan terperinci Django adalah untuk semua orang.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!