django logo

Konfiguracja django w środowisku Ubuntu


Spis treści

Tematem wpisu jest szybki poradnik jak skonfigurować django 1.5 z MySQL na Ubuntu 14.04. Zapraszam!

0) Wstęp

Czym jest django

Django to stworzony w Pythonie, prosty i nowoczesny framework typu open source. Umożliwia on budowanie funkcjonalnych aplikacji webowych bez potrzeby pisania setek wierszy kodu. Został zaprojektowany w ten sposób, aby doskonale działać jako zwarta całość, ale jego składniki są ze sobą na tyle luźno powiązane, że z łatwością można dokonywać zmian, dodawać i aktualizować funkcjonalności.

Oto niektóre zalety django:

Model MVC – narzędzie umożliwia rozdzielenie od siebie modeli, widoków i logiki biznesowej aplikacji.

Mapowanie obiektowo-relacyjne (ORM) – pozwala na pisanie modeli w całości w Pythonie. Posiada bogaty, dynamiczny interfejs bazy. Można również w razie potrzeby używać czystego SQL.

Automatyczny interfejs administracyjny – framework udostępnia gotowy panel administracji danymi, w dużym stopniu modyfikowalny i rozszerzalny.

Ładne adresy URL – umożliwia projektowanie przyjaznych (zarówno użytkownikom, jak i pozycjonowaniu strony) adresów URL, nie będąc ograniczonym przez framework.

Wbudowany system szablonów – udostępnia rozszerzalny, przyjazny projektantom system szablonów, dzięki któremu można oddzielić layout i logikę biznesową pythona raz na zawsze.

Wsparcie społeczności – django posiada społeczność zainteresowaną rozwojem frameworka i przygotowującą różnego rodzaju pakiety, gotowe do pobrania i szybkiego dołączenia do pliku (REST, systemy CMS, migracje bazy danych, mailing, etc.)

Do wglądu na https://www.djangopackages.com/

Systemy cache’owania – jeśli potrzebna jest większa wydajności, można użyć memcache lub innych podsystemów cache’ujących.

Internacjonalizacja – django posiada wbudowane narzędzia do tworzenia aplikacji wielojęzycznych, ze specjalnymi lokalnymi funkcjonalnościami.

Czego potrzebujemy?

Virtualbox
Ubuntu 14.04
Edytor tekstu (nano)
Python 2.7.6
easy_install
pip
Baza danych MySQL
Django 1.5.4

Warm up!

Instalację proponuję wykonywać z poziomu superusera, za pomocą polecenia sudo

paul@paul:~$ sudo su
[sudo] password for paul:
root@paul:/home/paul#

Na początku odświeżamy listy dostępnych pakietów wykonując polecenie

root@paul:/home/paul# sudo apt-get update

1) Python

Sprawdzamy, czy posiadamy pythona w wersji 2.7

root@paul:/home/paul# python -V

Python 2.7.6

Jeśli posiadasz już wersję 2.7.x, przejdź do następnego kroku. Jeśli, zainstaluj pythona w wersji 2.7.x poniższym poleceniem

root@paul:/home/paul# sudo apt-get install python

 

2) easy_install i pip

Zarówno easy_install i pip są managerami pakietów dla języka python. Pozwalają one znacznie łatwiej instalować pakiety i ich aktualizacje dla pythona (uwzględnia zależności pakietów).

Aby pobrać easy_install, wykonaj polecenie:

root@paul:/home/paul# wget https://bootstrap.pypa.io/ez_setup.py -O - | python

(…)
Installed /usr/local/lib/python2.7/dist-packages/setuptools-5.1-py2.7.egg
Processing dependencies for setuptools==5.1
Finished processing dependencies for setuptools==5.1

Pip jest biblioteką korzystającą i opierającą się na pakiecie easy_install. Po zainstalowaniu easy_install, uruchom następujące polecenie, aby zainstalować pip

root@paul:/home/paul# easy_install pip

(…)
Installed /usr/local/lib/python2.7/dist-packages/pip-1.5.6-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

 

3) MySQL

Domyślnie django dostarczane jest z biblioteką SQLite. Jednakże w tym projekcie chcemy zainstalować i wykorzystywać MySQL. Aby to zrobić potrzebujemy serwera, klienta i biblioteki połączeniowej dla pythona do obsługi bazy danych MySQL.

Pobieramy serwer i klienta bazy danych. W trakcie instalacji ustawiamy hasło dla roota.

root@paul:/home/paul# sudo apt-get install mysql-server mysql-client

Przed zainstalowanie biblioteki połączeniowej do bazy danych dla pythona, musimy doinstalować wymaganą bibliotekę libmysqlclient-dev. Umożliwia ona komunikację aplikacji napisanych w pythonie z bazą danych MySQL.

root@paul:/home/paul# sudo apt-get install libmysqlclient-dev

Następnie instalujemy bibliotekę z nagłówkami plików i statycznymi bibliotekami dla python:

root@paul:/home/paul# sudo apt-get install python-dev

Teraz można zainstalować interfejs pythonowy dla bazy MySQL

root@paul:/home/paul# pip install MySQL-python

Successfully installed MySQL-python

Testujemy, czy baza danych zainstalowana została prawidłowo. Logujemy się użytkownikiem root do bazy, tworzymy nową bazę o nazwie django_db i wyświetlamy bieżącą listę baz danych.

root@paul:/home/paul# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.5.37-0ubuntu0.14.04.1 (Ubuntu)

mysql> create database django_db;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| django_db |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

 

4) Instalacja django

W celu zainstalowania django wykorzystujemy manager pakietów pip.

root@paul:/home/paul# pip install django==1.5.4

(…)
Successfully installed django

5) Konfiguracja django

Tworzymy nowy projekt o nazwie testowy

root@paul:/home/paul# django-admin.py startproject testowy

Edytujemy plik settings.py w katalogu testowy i dodaje informacje o korzystanej bazie danych.

root@paul:/home/paul# cd testowy/
root@paul:/home/paul/testowy# cd testowy/
root@paul:/home/paul/testowy/testowy# ls
__init__.py settings.py urls.py wsgi.py
root@paul:/home/paul/testowy/testowy# nano settings.py

 

DATABASES={
	'default': {
		'ENGINE': 'django.db.backends.mysql',
		'NAME': 'django_db',
		'USER': 'root',
		'PASSWORD': 'twoje_haslo',		
	}
}

Uruchamiamy server django za pomocą polecenia:

root@paul:/home/paul/testowy# python manage.py runserver

Finalnie otwieramy przeglądarkę i sprawdzamy, czy pod adresem http://127.0.0.1:8000/ widoczny jest ekran powitalny django!

django virtualbox

 

Więcej materiałów na:

https://www.djangoproject.com/
http://www.djangobook.com/en/2.0/index.html
http://django.pl/
https://www.djangopackages.com/
http://realdjango.com/

Paweł Dobrzański

Start-up's fan, technological conferences member, social media enthusiast and low-cost trips traveler.

You may also like

LEAVE A COMMENT

Cześć!

Witaj na moim blogu! Znajdziesz tu proces budowania mojej aplikacji EventSearch za pomocą jhipstera. Podzielę się z Tobą niuansami dot. zakładania i prowadzenia firmy. Mam również nadzieję, że pomogę Ci zaoszczędzić trochę pieniędzy. Zapraszam!

Najpopularniejsze posty

Dzięki, że wpadłeś!

Paweł Dobrzański

Paweł Dobrzański

Start-up's fan, technological conferences member, social media enthusiast and low-cost trips traveler.