Ich bin ziemlich neu in Django und Angular. Ich bin mir bewusst, dass dies subjektiv ist und es viele Möglichkeiten gibt, dies zu tun, aber ich frage mich, welche Best Practices die Leute empfehlen können, um eine solche Anwendung zu erstellen. Ich denke speziell an den Fall von Reichen, SPA mit dem Backend, das größtenteils oder völlig ein RESTful API-Server ist, aber dann möchte ich eine gemeinsame Annäherung für irgendwelche Anwendungen haben, die bedeutende Ansichten von Django dienen. (Ich habe nicht genug getan, um zu entscheiden, ob letzterer es rechtfertigt, Angular zu verwenden, oder ob er mehr Mühe hat, als es wert ist).
Speziell:
Was sind die Vor- und Nachteile der Pflege des Front-End-Codes in einem separaten Verzeichnis / Repository vom Backend im Gegensatz zu einem "statischen" Unterverzeichnis der Django-App? In meinem Fall bin ich momentan der einzige Entwickler, was einige Auswirkungen auf diese Entscheidung hat, aber ich kann mich immer noch als getrennte "Teams" von Backend, Frontend, Designer usw. in dem Sinne verstehen, dass mein Workflow es wird versetzt mich in eine dieser Rollen gleichzeitig.
Meine Einrichtung ist im Grunde eine Entwicklungsmaschine, SCM in GitHub und öffentlich gehostet auf WebFaction (Shared Web Hosting). Ich werde auf der ganzen Linie Projekte auf verschiedenen Entwicklungsmaschinen leicht greifen wollen, aber der primäre Workflow ist nur ein Dev, eine Prod-Installation. Das heißt, ich bin an Best Practices in realen Projekten interessiert, da ich hoffe, dass ein zukünftiger Job mit Django zusammenarbeiten wird.
HINZUGEFÜGT : Ein weiterer Punkt, über den ich mir sehr unsicher bin, ist, ob die Angular-App von Django bootstrapped werden soll / muss. Das heißt, sollte die Titelseite von Django bedient und mit irgendwelchen Daten versehen werden?
PROS:
CONS:
Ich begann auch als Solo-Entwickler auf Django als BE mit AngularJS FE. Ich habe AngularJS Dateien in statischen Ordner und alles ist in Ordnung.
Nachteile sind definitiv, dass Sie FE und BE in einem Projekt durcheinander gebracht haben, aber ich denke, das sollte keine Rolle spielen, da Sie Solo-Entwickler sind. Selbst wenn Sie sich dazu entschließen, einen zusätzlichen Entwickler einzustellen (um FE- und BE-Arbeit zu teilen), würde Ihre Arbeit keine Konflikte haben, da einer von Ihnen vollkommen unabhängig arbeiten würde.
Einer der Vorteile für mich ist definitiv, dass ich den gesamten Login-Prozess über Django gemacht habe (auch Templating) und nach der Anmeldung ging es gut, ich habe den Rest des FE (gesamter AngularJS-Teil) bedient.
Für Django REST habe ich TastyPie benutzt. Es ist eine großartige REST-Erweiterung für Django und einfach einzurichten.
Tags und Links django angularjs project-setup