Un Electron Libre...

Aller au contenu | Aller au menu | Aller à la recherche

mardi 27 février 2007

Django : Installer "Cab", le gestionnaire de snippets made by django

C'est assez simple :

Créer un projet django (attention, il vous faut une version svn de django pour profiter de newforms absent de la version 0.95.* ; pour l'installation, voir la documentation officielle ou mon billet à ce sujet) :

django-admin.py startproject snippets

Récupérez la dernière version de Cab :

svn checkout http://cab.googlecode.com/svn/trunk/ snippets/cab

Récupérez la dernière version de Django-Registration qui gère la partie authentification de Cab :

svn checkout http://django-registration.googlecode.com/svn/trunk/ snippets/registration

Récupérez la dernière version de markdown et installez la :

unzip markdown-1.6a.zip
cd markdown-1.6a
sudo python setup.py install

Récupérez et installer la dernière version de Pygments :

tar xzf Pygments-0.7.1.tar.gz
cd  Pygments-0.7.1/
sudo python setup.py install

Editez snippets/settings.py au niveau de la base de données, le fuseau horaire (Europe/Paris) et la langue (fr-fr) et ajoutez "snippets.cab", "snippets.django-registration" et "django.contrib.admin" (pour bénéficier de l'interface d'admin de django), ainsi que "django.contrib.comments", "django.contrib.feeds" et "django.contrib.markup" dans la liste des applications installées :

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'snippets.cab',
    'snippets.registration',
    'django.contrib.admin',
    'django.contrib.comments',
    'django.contrib.markup',
    'django.contrib.syndication',
)

Créer votre base de données :

python manage syncdb

Editez ensuite snippets/urls.py pour ajouter que toutes les urls en /snippets/ soient utilisées par "cab" et /accounts/ par "django-registration" et décommentez la ligne de l'interface d'admin :

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    # Example:
    # (r'^snippets/', include('snippets.foo.urls')),

    # Uncomment this for admin:
    (r'^admin/', include('django.contrib.admin.urls')),
    (r'^snippets/', include('snippets.cab.urls')),
    (r'^accounts/', include('snippets.registration.urls')),
)

Créez un répertoire snippets/templates et éditez snippets/settings.py pour avoir :

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "./templates"
)

Créez un fichier snippets/templates/base.html et snippets/templates/base_user.html pour avoir un premier rendu (moche) :

<html>
<head>
<title>{% block title %} {% endblock %}</title>
</head>
<body>
{% block content_header %} {% endblock %}

{% block main_content %} {% endblock %}
</body>
</html>

Lancer le serveur embarqué :

python manage.py runserver

et rendez-vous sur :

Pour les autres urls à tester/voir, jetez un oeil à snippets/cab/urls.py et snippets/registration/urls.py ;-)

A l'heure où j'écris, il vous faudra créer pas mal de templates spécifiques requis par "cab" ou "django-registration". J'ai fait la demande d'un template complet par défaut, j'espère être entendu... ;-)

Edit : pour le moment, je ne suis pas entendu - faudra monter son template soi-même...

Edit2 : Ajout de django.contrib.comments & django.contrib.markup dans les applications à installer et du template base_user.html (copie de base.html)

Edit3 : Ajout de "django.contrib.syndication" dans les applications à installer

lundi 26 février 2007

Djangoseries du matin...

Pour celles et ceux qui voudraient un dépôt de code (snippets) un peu comme les snippets de Symfony ou "Les petits bouts de code à Niko" mais en Django en lieu et place de Symfony, ils vont être ravis de l'annonce de la sortie de Django Snippets et du logiciel servant à faire tourner ce dépôt : Cab.

Toujours au passage, le module d'authentification a été sorti du projet cab et peut donc être réutilisé à outrance : Django-Registration.

Sinon, la version 0.96 avec notamment les newforms et le framework de test devrait sortir d'ici peu.