Come sviluppare front-end (UI) per il mio sito Web Django


26

Sto imparando Django e sono nuovo nello sviluppo web. Per favore, scusami se trovi questa domanda troppo stupida.

Quindi, sto creando un'applicazione Facebook usando Django che vorrei ospitare in Google App Engine. Il progetto si concentrerà sulla lettura di feed RSS / Atom di qualsiasi sito Web (è tutto ciò che posso dire ora).

Sono abbastanza sicuro per elaborare i file RSS / Atom, ma sono preoccupato per la parte del front-end (interfaccia utente) - "La parte di progettazione". Non conosco HTML / CSS / JavaScript (posso gestire semplici cose HTML ma ciò non porta a nulla di progettazione).

In primo luogo, ho pensato di utilizzare strumenti come dreamweaver o qualsiasi software equivalente per progettare l'interfaccia utente, ma quando ho iniziato davvero a imparare il django e ad entrare in esso, sembra essere una cosa "impossibile".

Così,

  • Come devo progettare la parte dell'interfaccia utente del mio sito? Non posso usare strumenti come Dreamweaver?

    • Se NO, qual è il modo migliore per un ragazzo come me che non conosce JavaScript / CSS
    • Se SÌ, qual è la migliore alternativa open source a Dreamweaver?
    • Google App Engine può gestire tutto questo suff?
  • Come le persone che si occupano di Django modificano quelle pagine modello. Django menziona il fatto che separerà le parti logiche (viste) e di progettazione (modelli) in modo che i diversi dipartimenti di un'azienda possano gestirle separatamente. Ma considerando il fatto che le pagine HTML di Django sono piene di "tag" che non sono in alcun modo correlati all'HTML (progettazione), come le persone dell'interfaccia utente lo gestiscono?


1
Per prima cosa, fallo funzionare, quindi rendilo carino.
msw,

Risposte:


18

I documenti di Django non hanno mai menzionato che una persona che non sa di cosa tratta HTML / JS / CSS può usarlo. La separazione delle preoccupazioni viene eseguita anche nel back-end, in cui l'azione effettiva (le viste) è separata dal livello del database o dalla logica di routing dell'URL - Ciò consente l'accoppiamento libero. Non significa mai che puoi scrivere viste senza mai capire i tuoi modelli. Allo stesso modo (bene, non allo stesso modo), è necessario avere una comprensione di HTML / CSS per ottenere pagine Web di base. Potresti o meno voler imparare un po 'di JS, ma penso che con HTML5, sia più o meno essenziale conoscere un po' di JavaScript.

Nessuno sviluppatore web sensato consiglierà di utilizzare un editor WYSIWYG come DreamWeaver. Scrivi HTML a mano. Tuttavia, è possibile utilizzare elementi come HTML5 Bolierplate per avviare rapidamente il progetto.

Google AppEngine è un PaaS che puoi utilizzare per distribuire la tua applicazione. Fornirà tra l'altro il runtime di Python, un archivio dati ad alta replica, ecc., Ma non si occuperà di generare il tuo front-end.

Se hai intenzione di assumere qualcuno che si prenda cura del front-end, quella persona dovrebbe comunque sapere come usare i tag Django, in realtà (se segui da vicino il modello MVC - o MTV), definiscono la linea sfocata tra pagine Web "statiche" e "dinamiche". Anche se scegli di assumere uno sviluppatore di frontend, ti suggerisco di cogliere le basi di HTML e CSS (almeno così tanto che sai come funziona e come servirai i file statici CSS). Ti aiuterà a lungo termine.

Non tutte le persone hanno buone capacità di progettazione, e il design è senza dubbio il meglio lasciato a persone qualificate, ma quando si tratta di servire effettivamente pagine con quel design, è tutto HTML e CSS. Quindi puoi assumere una persona che si raddoppia (la maggior parte lo fa) come designer front-end e sviluppatore front-end. Ma ti consiglio di non rimanere completamente inconsapevole delle tecnologie front-end.


2
+1 "nessuno sviluppatore web sano"
msw,

È probabilmente vero che nessuno sviluppatore web sano vorrebbe creare modelli HTML in qualcosa che assomigli a Dreamweaver. Ma la maggior parte dei web designer sembra voler usare Dreamweaver o simili per i CSS, e la domanda menziona i CSS. Quindi sarebbe bello avere una direzione per quanto riguarda lavorare con Dreamweaver e Django.
Westcroft_to_Apse

4

Quello che faccio è progettare un layout in dreamweaver o assumere un designer per creare "wireframe" HTML con dati falsi, quindi ci provo e utilizzo i tag del modello di Django (o Jinja) per trasformarlo in un modello funzionante. Conosco un po 'di HTML, ma non sarei mai in grado di rendere nulla di attraente. Funzionale? Sì! Piacevole da guardare? Glob No!

Quindi, in conclusione; Con solo alcune nozioni di base sull'HTML, puoi modificare un documento HTML pre-creato in modo che funzioni come modello.


1

Ad ogni modo dovrai capire come funziona l'HTML. Puoi iniziare con un layout semplice senza bellezze grafiche.

Puoi usare qualsiasi editor che ti piace (Dreamweaver o altro) ma i tag di django collegano il modello al codice del programma, quindi nessun editor può farlo con WYSIWYG (ciò che vedi è ciò che ottieni). Alcuni IDE hanno pochi helper per quei tag, ma non di più, automatizzano semplicemente cose come chiudere i tag e così via.

Oppure puoi assumere un libero professionista per creare e integrare un modello nella tua applicazione, ma non è il modo migliore per imparare qualcosa :)


0

Forse impari come usare html + bootstrap. Bootstrap è un pacchetto moderno per creare siti responsive in cui CSS e JavaScripts sono quasi, se non tutti, curati per te. Quindi non c'è bisogno di scavare fino in fondo in html + css + js.

Quello che farai dopo aver saputo abbastanza di bootstrap è passare a questi esempi bootstrap e quindi iniziare i tuoi progetti web da lì. Quindi, quando avrai bisogno di elementi specifici del componente, vai a questo link allora.

Sapevo molto poco su HTML, CSS e JS e Bootstrap mi ha davvero salvato il culo. Dovrai conoscere le nozioni di base di quelli però, ma se sei interessato allo sviluppo web, ciò non dovrebbe far male.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.