Există destul de puține trucuri și sfaturi utile pe care le puteți folosi pe proiectele lor Django, care ar accelera dezvoltarea și vor salva multe dureri de cap pe termen lung. De la bază la obscură, aceste sfaturi pot ajuta orice nivel de calificare a programatorului să devină mai priceput cu Django și cu toată gloria.
Django este un cadru excelent pentru Python. Deși nu se poate obține cerneală la fel de mult ca alte cadre populare precum Rails, este la fel de mult un cadru lustruit ca oricare dintre restul. Se pune accent pe principiul DRY (Do not Repeat Yourself) în codarea curată prin automatizarea multor procese în programare.
Din anumite motive, proiectele au tendința de a fi mutate din timp în timp. Acest lucru poate fi un urs absolut pentru a face față dacă nu planificați mai întâi pentru această posibilitate. Rob Hudson are o tehnică excelentă pentru a vă asigura că implementările dvs. Django pot fi mutate cu ușurință, doar pentru a edita câteva linii de cod în fișierele de setări.
Fișierul de setări implicite Django sa schimbat în timp, pentru a include în prezent setări care nu depind de locația proiectului în sistemul de fișiere. Acest lucru este excelent într-un mediu de echipă în care mai multe persoane lucrează la același proiect sau când desfășurați proiectul pe un server web care are probabil căi diferite față de directorul rădăcină al proiectului.
Postul Rob are exemple excelente de cod pentru instalarea Django într-un mod foarte flexibil.
În loc să hardcodezi legături individuale, încercați să utilizați eticheta % url% compatibilă înapoi pentru a obține același rezultat. Acest lucru vă va oferi absolut URL, astfel încât, dacă, cerul interzis, proiectul dvs. Django se mișcă, legăturile vor rămâne în continuare tact.
În esență, % url% ia un nume de vizualizare și parametrii săi și face o căutare inversă pentru a returna adresa URL interogată. Dacă faceți modificări în fișierul dvs. urls.py, linkurile nu vor fi rupte.
Deși nu este cel mai avansat tip, este o tehnică excelentă de folosit în proiectele django.
Eventual una dintre cele mai mari caracteristici ale lui Django este sistemul de autentificare al utilizatorului pe care Django la construit direct în miez. Este foarte ușor de configurat și este dotat cu un sistem robust pentru a autentifica utilizatorii și a configura alte setări necesare.
Acest sistem de utilizatori este atât de minunat încât a fost chiar sugerat să folosiți Django ca zonă de administrare pentru aplicația dvs. PHP. Iată Jeff Croft cu privire la motivul pentru care Django este o soluție excelentă pentru un sistem de administrare pentru orice aplicație, indiferent de limbă:
Una dintre filosofiile principale ale lui Django este cuplajul liber. Pe lângă conotația mai iubitoare a dragostei libere, aceasta înseamnă că fiecare dintre straturile din "stack" -ul lui Django ar trebui să fie independent de ceilalți, astfel încât să puteți alege să utilizați numai bucăți și bucăți din ea și / sau să glisați în alte componente, dacă preferați. Lucky, este incredibil de simplu să înveți elementele de bază ale stratului de model Django, care ocupă schema de bază de date și cartografia obiect-relațională "Ä", chiar dacă nu o cunoașteți pe Python. Oricine poate să creeze o schemă de baze de date în Django și să obțină bijuteria de coroană a cadrului - este interfața administratorului - cu foarte puțină muncă, chiar dacă intenționați să scrieți logica aplicației în altă limbă.
Django vă permite să serviți fișiere statice în mediul dvs. de dezvoltare, dar nu mediul de producție. De ce? Nu e eficient. Deloc. Jacobian.org oferă o explicație.
Django nu dăunează în mod deliberat mass-media pentru tine și este proiectat astfel încât să te salveze de tine. Dacă încercați să difuzați materiale media din aceeași instanță Apache care deservește Django, veți ucide absolut performanța. Apache reutilizează procesele între fiecare cerere, așa că odată ce un proces cachează toate codurile și bibliotecile pentru Django, aceștia rămân în memorie. Dacă nu utilizați acest proces pentru a satisface o solicitare Django, toate pierderile de memorie sunt pierdute.
Folosind un server separat pentru a găzdui și a servi aceste fișiere statice, performanța dvs. nu va suferi. Dacă nu ați vrea să cumpărați un server, puteți utiliza Amazon S3 pentru a găzdui fișierele relativ ieftine.
Instrumentele de depanare pentru orice limbă sunt neprețuite. Acestea accelerează dezvoltarea prin detectarea erorilor din codul dvs. și a potențialelor capcane care s-ar putea întâmpla. Rob Hudson a lansat recent bara de instrumente de depanare django pentru a ajuta la depanarea codului și ar putea ajuta foarte mult pe orice dezvoltator.
Bara de instrumente în sine este o piesă de middleware care instanțează fiecare obiect panou la cerere și efectuează procesarea și randarea, deoarece răspunsul este scris înapoi în browser. În acest mod, este în esență un set de clase de middleware (panourile) grupate pentru a afișa o singură bară de instrumente. Fiecare panou subclasă o clasă de panouri de bază și suprascrie câteva metode pentru a reda bara de instrumente.
Testarea unităților este o modalitate excelentă de a vă asigura că modificările aduse codului funcționează conform așteptărilor și nu încalcă codul mai vechi pentru a menține compatibilitatea înapoi. O caracteristică excelentă în Django este că este incredibil de ușor să scrieți teste unitare. Django oferă posibilitatea de a folosi testul doctest sau unittest direct din cutie.
Documentația lui Django oferă un tutorial excelent și un exemplu de cod cu privire la modul de setare a testelor unitare pentru a vă menține codul funcționând fără probleme și pentru a detecta orice bug-uri urât.
Chestiunea e înșelătoare? Sper ca nu. Această hărțuire ieftină pe 2 pagini conține niște nuggeturi de aur care se află la îndemâna brațului, încât ar fi trebuit să săpați în jurul documentației Django pentru a găsi.
Cheatsheet oferă următoarele subiecte utile:
Template-uri
modele
Formulare
Știm cu toții că timpul petrecut în privința documentației este timpul petrecut pentru a nu rezolva problemele lumii prin cod. Și niciun programator bun nu vrea asta.
Django-chunks este în esență o modalitate de a crea blocuri de cod reutilizat în șabloanele dvs. Cu excepția creării blocurilor, se face și mai ușor prin utilizarea editorului de text bogat al lui Django.
Ei bine, în esență, permite ca cineva să definească "bucăți" (am vrut să îl numesc blocuri, dar asta ar fi foarte confuz din motive evidente) a conținutului din șablonul dvs. care poate fi editat direct de la interfața minunată de administrare Django. Aruncarea unui control de editor de text îmbogățit în partea de sus a acestuia face chiar mai ușoară.
Prin replicarea de biți de cod reutilizabil, django-bucățile asigură că piesele de aspect pot fi schimbate rapid și ușor dacă este nevoie. În timp ce django-chunks este într-adevăr doar un eșantion de model și șablon, poate accelera foarte mult dezvoltarea prin replicarea proceselor.
Dacă performanța va fi o problemă cu aplicația Django, veți dori să instalați un fel de cache. În timp ce Django oferă multe opțiuni pentru cache, cel mai bun este memorat. Instalarea și utilizarea memcached-ului este destul de ușoară cu Django dacă utilizați modulul cmemcache. Odată ce modulul este instalat, schimbați doar o singură opțiune de configurare, iar paginile Django vor fi difuzate rapid.
Dacă tot nu înțelegeți puterea lui Django după ce ați citit acest articol, există un raționament logic pentru utilizarea lui Django în proiectul următor: Economisiți timp în timp ce hacking împreună modele cu diferite seturi de software. Jeff Croft explică de ce crearea unui proiect în Django este mult mai eficientă decât încercarea de a sparge împreună scenariile.
Acum, dacă sunteți obișnuit să construiți site-uri utilizând o aplicație de blogging (Wordpress, TXP, etc.) ca un CMS, sunteți obișnuit să obțineți toate acestea gratuit. Dar, de asemenea, obțineți multe lucruri încorporate, pe care probabil că nu le doriți (cu excepția cazului în care, desigur, construiți un blog). Limitarea pe care am folosit-o pentru a-mi folosi o aplicație de blog pentru site-ul meu personal este că am vrut să fie mai mult decât un blog. De îndată ce am încercat să hack un blog într-o galerie foto, un feed de legături sau o bază de date de statistici, un joc de Sudoku sau orice altceva de care mă puteam gândi, lucrurile au început să devină crud. Am construit, de asemenea, un site web în care am încercat să folosesc o aplicație pentru forumuri de discuții (vBulletin) ca un CMS și care a avut aceleași rezultate. A funcționat - un fel de - dar nu a fost extensibil, a fost foarte hackish, și, în general, a fost inelegant.
Cu Django, veți obține toate aceste lucruri și nici una dintre limitele unei aplicații de blogging.
Django vă permite să vă extindeți site-ul într-o direcție literală în orice direcție, fără să vă faceți griji în legătură cu hacking-ul designului sau cu asigurarea compatibilității scripturilor și bazelor de date. Este doar lucrări.
Glen Stansberry este un dezvoltator web și un blogger care sa luptat de mai multe ori decât ar dori să recunoască cu CSS. Puteți citi mai multe sfaturi despre dezvoltarea web la blogul său Web Jackalope.
Dacă ați găsit acest post util, vă rog să vă mulțumesc cu un Digg sau Stumble.