Heim  >  Artikel  >  Backend-Entwicklung  >  Django ist für jeden etwas dabei.

Django ist für jeden etwas dabei.

PHPz
PHPzOriginal
2024-08-28 22:31:031009Durchsuche

Django is for everyone.

Django eignet sich auch für „kleine“ Websites hervorragend

Ich denke, die Leute neigen dazu, Django entweder für die Entwicklung altmodischer, industrietauglicher monolithischer Apps oder für APIs und die Verwendung von etwas wie React für das Frontend in Betracht zu ziehen. Ich bin hier, um Ihnen zu sagen, dass das einfache alte Django sogar für Ihre persönlichen Websites eine großartige Option ist! Wenn Sie eine Datenbank benötigen, sollten Sie meiner Meinung nach Django1.

verwenden

Warum Django?

Django gilt als „Batterien enthaltenes“ Framework, und diese Batterien sind großartig. Das sind die Dinge, die mich dazu bringen, Django jedem anderen Framework vorzuziehen.

Der objektrelationale Mapper (ORM)

Das Django ORM ist ein wichtiger Grund, das Framework zu verwenden. Ich bin verblüfft, dass nicht alle Web-Frameworks ein ORM enthalten. Sofern Sie kein großer Fan davon sind, SQL von Grund auf neu zu schreiben, ist dies der richtige Weg, Apps zu erstellen. Sie definieren Modelle, erstellen Datenbankmigrationen aus diesen Modellen (meistens automatisch), führen die Migrationen auf Ihrer Datenbank durch und schon kann es losgehen! Kein Schreiben halbherziger Modelle und eine Reihe von Migrationen, bei denen Sie das Schema quasi extrapolieren können2. Alle Informationen, die Sie über Ihre Daten benötigen, befinden sich in Ihrer models.py-Datei und alles ergibt sich daraus.

Der Admin

Das ist das Große. Es ist kein CMS; Es ist eher eine GUI für das ORM. Nachdem Sie Ihre Modelle definiert haben, können Sie diese Daten mit sehr wenig Konfiguration verwalten, ohne CRUD-Code schreiben zu müssen. Es ist nicht das Frontend Ihrer Anwendung. Es ist (wahrscheinlich) kein CMS für Endbenutzer. Auf diese Weise können Administratoren problemlos Änderungen an der Website vornehmen.

Progressive Verbesserung

Das liegt mir sehr am Herzen, aber der Rest unserer Branche scheint es vergessen zu haben. Einfach gesagt; Die Funktionalität auf Basisebene sollte auch dann möglich sein, wenn JavaScript ausfällt. Ihre App sollte zumindest ohne Front-End-Skripting auskommen. Das mit einem SPA zu machen, ist ein Albtraum. Es ist trivial, dies mit einem echten Backend-Framework und einem Tool wie htmx oder Unpoly zu tun. Sie müssen nur Ihre Perspektive vom Status Quo zum gesunden Menschenverstand ändern.

Konzepte, die Sie im Hinterkopf behalten sollten

MTV

Während herkömmliche Anwendungsframeworks das Modell-, Ansichts- und Controller-Entwurfsmuster verwenden; Django benennt ihre Elemente etwas anders.

  • Modell
    • Ok, das ist das Gleiche.
  • Vorlage
    • Dies entspricht der herkömmlichen Ansicht.
  • Ansehen
    • Dies entspricht größtenteils dem herkömmlichen Controller.

Datenbankmigrationen

Dies ist ein gelöstes Problem in Django. Es ist wirklich schön! Es gibt noch viel mehr darüber zu wissen, und Sie sollten sich die generierten Migrationsdateien ansehen, bevor Sie sie ausführen, und es gibt Zeiten, in denen Sie diese Dinge manueller erledigen müssen, aber Das ist der Kern der Verwendung:

./manage.py makemigrations
# It tells you what it did.

./manage.py migrate
# Database updated!

Das ist es! ?

So fangen Sie an

Blaze.horse

Hier melde ich mich für mein eigenes kleines Projekt. Die gute Nachricht für Sie, Einzelentwickler, von dem ich annehme, dass er dies liest, ist, dass es für die nichtkommerzielle Nutzung kostenlos ist. Wenn Sie es am Ende verwenden und es Ihnen beim Erstellen einer kommerziellen Anwendung geholfen hat, kostet es nur 100 USD einmalig. Komm schon, das ist wirklich ein Wert!

Auch wenn Sie am Ende nicht das gesamte Kit verwenden, empfehle ich Ihnen dringend, einen Blick auf die Techniken zu werfen, die ich im Code verwende. Das ist eine hart erkämpfte Sache, nachdem man Django fast von Anfang an verwendet hat. Ich habe es eine Phase lang mit Docker und Postgres verwendet, aber ich glaube wirklich, dass dies der Weg für 99 % der Leute ist, die Django ausprobieren möchten. SQLite ist erstaunlich.

Einsatz

Leider ist dies der Hauptnachteil der Wahl von Django gegenüber anderen Optionen, die auf persönliche Websites abzielen. Mit Blaze.horse habe ich versucht, es Ihnen leicht zu machen, aber es ist immer noch komplizierter, als es sein sollte. Es gibt einige aufstrebende Projekte, die mir Hoffnung geben, wie Button und Appliku, aber ich persönlich bin vorerst mit Fly zufrieden.

Nächste Schritte

Nachdem ich das gelesen habe, hoffe ich, dass Sie Django im Hinterkopf behalten, wenn Sie das nächste Mal etwas erstellen müssen. Lass es mich wissen, wenn ich helfen kann!


  1. Wenn Sie ein CMS benötigen, sollten Sie Kirby verwenden. Sie sicherlich sollten keinen statischen Site-Generator verwenden, wenn Sie ein CMS benötigen. FFS ↩

  2. Laravel ↩

Das obige ist der detaillierte Inhalt vonDjango ist für jeden etwas dabei.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn