Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

În etapa anterioară am definit structuri de date pentru a stoca o listă de întrebări și răspunsuri la acestea.

Până în prezent, nu am făcut nimic pentru a putea lucra cu datele prin intermediul site-ului. Dar Django ne predosstavlyaet un sistem de management puternic pentru managementul datelor a site-ului nostru din cutie. Django Admin nu este destinat pentru vizitatori regulate. Mai degrabă, este un mijloc de simplificare a administratorului de a lucra cu date. Django creează automat o interfață pentru gestionarea datelor noastre bazate pe modele create de noi precum și să le creați în tabelele bazei de date corespunzătoare.

Activarea Django admin

Pentru a începe să utilizați zona de site-ul de administrare furnizate de Django, trebuie să îndeplinească mai întâi următoarele mai multe etape.

În primul rând, în fișierul de configurare settings.py proiect trebuie să decomentați linia django.contrib.admin

Acum trebuie să executați din nou comanda

Django va crea un tabel de bază de date care sunt necesare pentru o parte de administrare a site-ului.

Acum trebuie să editați fișierul mysite / urls.py pentru a informa Dajngo, codul pe care trebuie să suni când vom trece prin browser-ul la panoul de administrare.

Pentru acest raskomentiruem rândurile. Acum mysite / urls.py fișier ar trebui să arate astfel:

Șiruri a decomenta, sunt evidențiate cu caractere aldine.

Pentru lansarea site-ului nostru va îndeplini comanda

În consola, ar trebui să vedeți

Ar trebui să vedeți un prompt pentru a introduce un nume de utilizator și parole pentru conectarea la panoul de administrare Django

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Mergem la panoul de administrare, folosind specificată în primul conectare pas și parola super-utilizator.

Crearea unei rădăcină Django admin

Dacă, din anumite motive, nu ați creat un superutilizator înainte de a putea face acest lucru rulând comanda consolă

Mergând în panoul de administrare, ar trebui să vedeți o imagine similară:

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Puteți adăuga deja un utilizator pentru a gestiona site-ul și grupurile care definesc drepturile lor, precum și a schimba setările pentru site-ul. Dar încă nu puteți adăuga sau edita o persoană de contact de întrebări și răspunsuri de model.

Afișarea obiectelor din admin Django - conectăm modelele noastre

Pentru a obține acces pentru a schimba obiectele admin. o parte a site-ului, trebuie să le înregistrați în administrator al aplicației.

Creați un fișier nou într-un director numit sondaje admin.py. În fișierul, se introduce următorul text:

Acum reporniți serverul și reîmprospăta sau re-vizita panoul de administrare.

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Comanda! Acum suntem disponibili pentru a crea și edita întrebări noi prin punctul Sondaje.

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Django genereaza automat un formular web pe modelul de bază, care vă permite să introduceți toate datele necesare. În același timp, încă nu fie introduse pentru unele dintre câmpurile marcate ca obligatorii, formularul ne va reveni pentru a edita evidențiați un câmp pentru a introduce:

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

După completarea tuturor câmpurilor, și de a salva obiectul, informații despre acesta este stocat în baza de date.

Noul obiect apare în listă, dar nu arata foarte informativ:

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Faptul că se folosește metoda __unicode __ () pentru a afișa informații despre site-ul Django. Creată de noi nu există o astfel de metodă de clasă Sondaj. Adăugați-l.

Adăugând numele obiectului

Pentru a afișa un nume informativ al obiectului, adăugați o metodă __ __unicode () cursuri Poll și de alegere.

Edit models.py, adăugând text cu litere aldine:

Acum, după actualizarea lista Sondaj obiecte de tip text este utilizat în zona de administrare, pe care am introdus ca o întrebare:

Noțiuni de bază cu Django - conexiunea admin - modul de a deveni un programator

Adăugarea de obiecte legate

Pentru a putea adăuga răspunsuri noi prin panoul de administrare, suficient de fișier admin.py adăuga:

Acum, „Alegeri“ a apărut în admin Django. La adăugarea unui nou alegeri răspuns va trebui să selectați întrebarea corespunzătoare:

Cu toate acestea, acest lucru nu este foarte convenabil. Lista de selecție va emite toate întrebările care au fost stocate în baza de date. Mai mult decât atât, este logic să intre răspunsuri adăugarea de întrebare.

Hai să o facem.

În registru fișier remove admin.py () pentru clasa Choice și edita clasa de înregistrare Sondaj. Modificați textul de mai jos.

Alegerea Acum obiecte pot fi adăugate doar prin adăugarea problema, în timp ce Django a cerut să completeze o dată 3 opțiuni, și se adaugă mai mult, dacă este necesar.

Singura dată - clasa admin.StackedInline afișează toate câmpurile de mai jos una de alta, iar acest lucru ia o mulțime de spațiu. Django admin există o clasă TabularInline mai potrivită pentru un tabel de câmpuri de afișare.

Un timp pentru noi să aibă grijă de care se va afișa pagina principală a site-ului nostru. Ne întoarcem în continuare.