Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

Python – frameworki Django i Bootstrap

Data publikacji: 04-11-2016 Autor: Grzegorz Kubera
Rys. 1. Podstawowy szablon...
Rys. 2. Przykładowe posty na...
Rys. 3. Poprawnie działające...
Rys. 4. Blog wyświetlający...
Rys. 5. Blog po instalacji...
Rys. 6. HTML może ładować...
Rys. 7. Zmiany w stylach CSS...

W tej części kursu stworzymy w pełni funkcjonalnego bloga wraz z jego podstronami, wykorzystując framework Django oraz dodatkowo na potrzeby edycji stylów CSS – framework Bootstrap.

Niniejsza część kursu jest bezpośrednią kontynuacją części poprzedniej („IT Professional” 10/2016, s. 31). Pracę rozpoczynamy, uruchomiając wiersz poleceń z uprawnieniami administratora, a następnie aktywując środowisko wirtualne z poziomu C:Python35 (lub innego miejsca, w którym zainstalowaliśmy Pythona), wpisując komendę:

virtuScriptsactivate

Następnie przechodzimy do folderu C:Django (lub lokalizacji wskazanej podczas instalacji). Dodatkowo wykorzystamy też program do edycji kodu – w kursie korzystamy z Atoma, opisanego szerzej w poprzedniej części.


DOKUMENTACJA DJANGO

 

W kursie nie opisujemy szczegółowo każdego elementu, ale skupiliśmy się na tym, aby stworzyć funkcjonalny projekt. Osoby zainteresowane informacjami związanymi z frameworkiem Django mogą zapoznać się z jego pełną dokumentacją pod adresem
docs.djangoproject.com/en/1.10/.


> TWORZENIE ADRESÓW URL

Na początku zajmiemy się konfiguracją bloga i dodaniem kilku niezbędnych elementów. Zaczynamy od adresów URL. Każda strona potrzebuje adresu URL – w ten sposób aplikacja (w naszym przypadku blog) wie, co ma wyświetlić internaucie, który otworzy dany adres. W Django do konfigurowania adresów wykorzystywany jest zestaw wzorców URLconf. Za pomocą programu Atom otwieramy plik urls.py, znajdujący się w folderze z projektem, który stworzyliśmy na potrzeby kursu. Przypominamy, że nasz projekt nazywa się itpro i został umieszczony w katalogu C:Django. Po otwarciu pliku można zauważyć, że jeden adres URL już się w nim znajduje: url(r'^admin/', include(admin.site.urls)). Jest to adres /admin, który pozwala uzyskać dostęp do panelu zarządzania treścią bloga. Django dopasowuje poszczególne adresy URL do widoków, wykorzystując do tego wyrażenia regularne regex. Najprościej mówiąc, regex to wiele reguł, które tworzą dla aplikacji wzorzec do wyszukania (więcej informacji można znaleźć w oficjalnej dokumentacji Django).

Jeśli mielibyśmy stronę o adresie http://www.itpro.pl/blog/12345/, gdzie 12345 byłby numerem posta na blogu, pisanie osobnych komend dla każdego numeru posta byłoby stratą czasu. Korzystając z wyrażeń regularnych, można stworzyć wzorzec, który dopasuje URL i przypisze do niego stosowny numer posta. Taki wzór to w tym wypadku ^blog/(d+)/$ . Idąc po kolei, ^blog/ to informacja, że aplikacja ma zająć się każdym adresem URL zaczynającym się od wyrazu blog. Komenda (d+) informuje, aby szukać numeru składającego się z jednej lub więcej cyfr, i że chcemy go wyodrębnić. Znak / informuje framework Django, że następny w kolejności w adresie powinien pojawić się znak /. Z kolei $ wskazuje koniec adresu URL. W naszym przypadku chcemy, aby adres http://127.0.0.1:8000/ był stroną główną bloga i wyświetlał listę postów.

Korzystając z Django, możemy zaimportować adresy URL z aplikacji blog do głównego pliku itpro/urls.py. Otwieramy więc ten plik w Atomie i dodajemy komendę do importowania blog.urls do głównego adresu, aby uzyskać efekt widoczny poniżej:

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('blog.urls')),
]
 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"