• Català
  • Castellano
  • English


Capítol 2: Començant


Comencem?

Afortunadament, instal·lar Django és fàcil. Perquè Django s'executa com ho fa Python, Django pot configurar-se de moltes maneres. Nosaltres hem triat cobrir els escenaris comuns de les instal·lacions de Django en aquest capítol.

Instal·lant Python

Django està escrit completament en 100% pur codi Python, així necessitaràs instal·lar Python en el teu systema. Django requereix Python 2.3 o un de més actual.

Si estàs a Linux o Mac OS X, probablement ja tens Python instal·lat. Escriu python a la línia de comandes (o en un Terminal, a OS X). Si veus alguna cosa com aquesta, llavors Python hi és intal·lat:

Python 2.4.1 (#2, Mar 31 2005, 00:05:10) 
[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin 
Type "help", "copyright", "credits" or "license" for more information.
>>> 

De totes formes, si veus un error del tipus "command not found", hauràs de descarregar-te i instal·lar-te el Python. Mira a http://www.python.org/download/ per començar. La instal·lació és ràpida i senzilla.

Instal·lant Django

Instal·lant una versió oficial

La majoria de la gent vol instal·lar-se la última versió oficial de http://www.djangoproject.com/download/. Django utilitza el mètode d'instal·lació estàndard de Python distutils, que a Linux es fa així:

  1. Descarregar-se el fitxer tar que s'anomena quelcom semblant a això Django-1.0.tar.gz.
  2. tar xvzf Django-*.tar.gz
  3. cd Django-*
  4. sudo python setup.py install

Si ha funcionat correctament, ja podràs importar el mòdul django des de l'interpret interactiu de Python.

>>> import django
>>> django.VERSION
(1, 0, 'official')
L'interpret interactiu de Python:
L'interpret interactiu de Python és un programa de línia de comandes que et permet escriure interactivament un programa python. Per començar, només cal que escriguis la comanda python. En aquest llibre, farem codis d'exemple com si estiguéssim en l'interpret interactiu. El símbol triple (">>>") significa avis.

Instal·lant Django des del subversion

Si tu vols treballar en el costat de la lluita, o si vols contribuir amb codi del propi Django, pots instal·lar-te el Django des del dipòsit Subversion.

Subversion és un sistema de control de versions lliure, de codi obert similar al CVS, i l'equip de Django l'utilitza per administrar els canvis del codi base de Django. A qualsevol hora, pots utilitzar el client subversion per canviar a la última versió del codi de Django, i pots modificar la teva versió local del codi Django -- conegut com la teva "checkout local" -- per obtenir l'últim canvis fets pels desenvolupadors de Django.

L'últim i més gran codi desenvolupat de Django es refereix com "the trunk".

Per obtenir la última branca Django:

  1. Assegura't que tens un client Subversion instal·lat. Pots obtenir-lo des de http://subversion.tigris.org/ i una documentació excel·lent des de http://svnbook.red-bean.com/.
  2. Obtingues la branca utilitzant la comanda

    svn co http://code.djangoproject.com/svn/django/trunk django_src
  3. Fes un enllaç simbòlic django_src/django per a que el django estigui dins del directori site-packages de python, o canviar el teu PYTHONPATH per a que hi apunti.

Quan t'ho instal·les de del subversion, no necessites executar python setup.py install.

Ja que la branca de Django canvia sovint per solucionar errors i afegir-hi característiques, probablement voldràs actualitzar-la de tant en tant -- o cada hora, si estàs realment obsessionat. Per actualitzar el codi, només cal que executis el codi svn update des del directori directory_src. Quan executis aquesta comanda, subversion contacta amb el nostre servidor web, mira si hi ha canvis i els actualitza.

Instal·lant una base de dades

L'únic pre-requisit de Django és una instal·lació funcional de python. Tanmateix, aquest llibre s'enfoca en un dels punts més dolços de Django, el qual és desenvolupar llocs webs amb bases de dades -- així et caldrà intal·lar un servidor de base de dades d'alguna manera, per guardar les teves dades.

Si només vols començar a jugar amb Django, vés a "començant un projecte", però et recomanem -- podries instal·lar una base de dades eventualment. Tots els exemples en el llibre assumeixen que en tens una d'instal·lada.

En la versió 1.0, Django suporta cinc motors de bases de dades

A nosaltres ens agrada PostgreSQL, per raons que no cal explicar en aquest llibre, així que només ho mencionem ara. Tanmateix, tots aquests motors funcionen igual de bé amb Django.

SQLite també mereix una nota especial: És un motor de base de dades extremadament simple que no requereix instal·lar cap tipus de servidor ni configuració. És la forma més senzilla perquè tu comencis a jugar amb Django.

Utilitzant Django amb PostgreSQL

Si utilitzes PostgreSQL, necessitaràs el paquet psycopg disponibles des de http://initd.org/projects/psycopg1. Assegura't que utilitzes la versió 1, no la 2 (que encara és una beta).

Si utilitzes PostgreSQL sobre Windows, pots trobar binaris precompilats de psycopg a http://stickpeople.com/projects/python/win-psycopg/.

Utilitzant Django amb SQLite 3

Necessites SQLite 3 -- no la versió 2 -- i el paquet pysqlite de http://initd.org/tracker/pysqlite. Assegura't que tens la versió 2.0.3 o més gran.

Utilitzant Django amb MySQL

Django necessita MySQL 4.0 o major; les versions 3.x no suporten transaccions, i alguns altres estàndards SQL. També necessitaràs el paquet MySQLdb de http://sourceforge.net/projects/mysql-python.

Utilitzant Django amb MSSQL

Utilitzant Django amb Oracle

Utilitzant Django sense una base de dades

Com s'ha dit anteriorment, Django actualment no necessita una base de dades. Si només vols utilitzar-los per servir pàgines dinàmiques que no apunten a una base de dades, aquest funciona perfectament.

Dit això, considera que algunes de les eines extres dins Django requereixen un base de dades, així si escolleixen no utilitzar una base de dades, no podràs utilitzar aquestes característiques. (Nosaltres tractarem aquestes característiques en aquest llibre).

Començant un projecte

Si aquesta és la primera vegada que utilitzes Django, tingues cura amb algunes disposicions inicials.

Executa la comanda django-admin.py startproject el_meu_lloc. Això crearà un directori el_meu_lloc en el teu directori actual.

Nota
django-admin.py hauria de ser en el teu path del sistema si has instal·lat Django mitjançant la utilitat setup.py. Si no és en el teu path, pots trobar-lo a site-packages/django/bin; considera utilitzar un enllaç simbòlic a algun lloc en el teu path, com /user/local/bin.

Un projecte es una col·lecció de preferències d'una instància de Django -- incloent-hi la configuració de la base de dades, les opcions específiques de Django i les configuracions específiques de l'aplicació. Mira el que t'ha creat startproject:

el_meu_lloc/
    __init__.py
    manage.py 
    settings.py 
    urls.py

Aquests fitxers són:

manage.py

Una utilitat de línia de comandes que et permet interactuar amb aquest projecte Django de diverses formes.

settings.py

Preferències/configuració per aquest projecte Django.

urls.py

Les declaracions de les URL per aquest projecte Django; una "taula de continguts" del teu lloc fet amb Django.

On és aquest codi?
Si estàs acostumat amb PHP, probablement hauràs utilitzat posar el codi sota l'arrel del servidor web (en un lloc com /var/www). Amb Django, no has de fer-ho. No és una bona idea posar qualsevol d'aquest codi Python dins l'arrel del servidor web, perquè corres el risc la possibilitat que la gent pugui veure el teu codi a través de la web. I això no és bo per la seguretat.
Posa el teu codi en algun directori fora de l'arrel, com /home/el_meu_codi.

El servidor de desenvolupament

Vés dins del directori el_meu_lloc, si no hi erets, i executa la comanda python manage.py runserver. Veuràs quelcom així:

Validating models... 
0 errors found. 

Django version 1.0, using settings 'mysite.settings' 
Development server is running at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 3 

Has engegat el servidor de desenvolupament de Django, un servidor web lleuger que pots utilitzar mentre desenvolupes el teu lloc. Està inclòs dins de Django per a que desenvolupis les coses més ràpidament, sense haver d'esperar-te mentre configures el teu servidor web de producció (p.e: Apache) abans que entre en producció. Aquest servidor de desenvolupament comprova el teu codi buscant canvis i automàticament els recarrega, ajuntant-te a fer canvis molt ràpids sense haver de re-iniciar res.

Encara el servidor de desenvolupament és extremadament ideal per, bé, desenvolupar, evita la temptació d'utilitzar-lo en un entorn de producció. El servidor de desenvolupament només pot capturar una petició a l'hora, i no audita la seguretat. Quan vulguis llençar el teu lloc web, mira el Capítol XXX per veure la informació de com posar-lo en producció.

Canviant el hoste o el port
Per defecte, la comanda runserver engega el servidor en el port 8000, esperant només les connexions locals. Si vols canviar el port del servidor, fes-ho amb la següent comanda:
python manage.py runserver 8080
També pots canviar la IP des del qual el sevidor escolta. Això és especialment úil per compartir un lloc de desenvolupament amb altres desenvolupadors:
python manage.py runserver 0.0.0.0:8080
Fa que Django escolti qualsevol interfície de xarxa, permetent que altres ordinadors es connectin al servidor de desenvolupament.

Ara que el servidor funciona, visita http://127.0.0.1:8000/ amb el teu navegador web. Veuràs una pàgina de benvinguda "Welcom to Django", amb un agradable, blau-cel pastel. Funciona!

Que és el pròxim?

Ara que l'hem instal·lat i tenim el servidor de desenvolupament executant-se, escriurem algun codi bàsic que demostri com serveix pàgines el servidor Web utilitzant Django.