Archive for the ‘django’ Category

h1

Sqlite dump exportieren

Mai 10, 2009

Ich bin gerade dabei meine Test Sqlite Datenbank von Django zu exportieren um eine MySQL Datenbank auf dem Production Server benutzen zu können. Dafür musste ich ein Sql Dump erstellen der Sqlite3 Datei:

charly@lucy:~/py/django$ sqlite3 database.db .dump .quit >> database_dump.sql

Die Punkte vor „dump“ und „quit“ gehören dazu.


Advertisements
h1

Ein paar Verändungen und mehr

Februar 8, 2009

Wie man unschwer sehen kann, haben wir unserem Blog ein neues Theme verpasst. Zum Einen, weil immer mehr Unzufriedenheit über das alte Theme aufkam und zum Anderen, weil wir ein individuelles Logo wollten, dass zum alten Theme nicht passte. Das ist aber erst der Anfang der Veränderungen.

Jetzt, wo wir zu fünft sind und der Blog sich doch einiger Besucher erfreut, arbeiten wir an einem etwas größeren Projekt. Zusammen wollen wir uns in Python mit Django eine eigene Blog-Software schreiben, da wir uns hier bei WordPress ziemlich gefangen fühlen. Allerdings befindet sich das ganze Projekt noch im Anfangsstadium und man wird sich noch eine ganze Weile gedulden müssen.

Bis dahin erscheinen hier natürlich weiterhin neue Artikel und wir hoffen auf viele Leser und deren Kommentare. =)

h1

Django 1.0 und django-tagging

Februar 3, 2009

Wer seinem Django Projekt eine gute App fürs Tagging hinzufügen möchte, hat sicher schon einmal etwas von django-tagging gehört.

Falls nicht: Django-tagging ist ein kleines Framework, welches das Arbeiten mit Tags innerhalb einer Django-Applikation verbessern soll. Es werden Funktionen bereitgestellt, wie das Erzeugen einer Tagcloud, das Browsen von Einträgen nach Tags und einiges mehr. Klingt gut oder? So wer sich nun denkt „ruck-zuck“ runtergeladen fertig…sollte lieber aufpassen. Denn ungünstigerweise arbeitet die aktuelle Version, welche auf der Projektseite angeboten wird, nicht mit Django 1.0 zusammen. Lediglich die Version im trunk, welche ihr euch per svn laden könnt, ist auf dem aktuellen Stand. Gut also das Ganze mit dem unten auf der Seite angegebenen checkout runterladen (hier ist folgendes zu beachten: falls euer Django-Projekt sich auch in einer svn Versionskontrolle befindet, ist es nicht sinnvoll das checkout für django-tagging innhalb dieses Arbeitsverzeichnisses durchzuführen <– Notiz an mich selbst xD).
So, nachdem ihr alles enpackt habt und mit Superuser Rechten das setup.py Skript ausgeführt habt,

sudo python setup.py install

könnt ihr nun das Verzeichnis tagging unter build/lib/ in euer Djangoprojekt einfügen.

Als nächstes solltet ihr django-tagging in der settings.py unter INSTALLED_APPS hinzufügen (hier ist darauf zu achten, auch ein Unterverzeichnis anzugeben, falls ihr den Ordner tagging in ein solches gelegt habt).

‚deinProjekt.tagging‘,

Nun könnt ihr auch schon eure models.py in der gewünschten App bearbeiten.

from django.db import models
from tagging.fields import TagField
from tagging.models import Tag

class BlogPost(models.Model):

    title = models.CharField(max_length=30)
    body = models.TextField()
    date_posted = models.DateField(auto_now_add=True)
    tags = TagField()

    def set_tags(self, tags):
        Tag.objects.update_tags(self, tags)

    def get_tags(self, tags):
        return Tag.objects.get_for_object(self)

Dabei müsst ihr auch wieder auf die include-Pfade achten, falls ihr tagging in einem Unterverzeichnis zu liegen habt.
So, nachdem ihr diese Models erstellt habt, könnt ihr „syncdb“ ausführen und schon sollte alles funktionieren.

ACHTUNG: Falls ihr schon eine bestehende Datenbank habt, wird Django die Änderungen an den Models nicht übernehmen. Um das zu erreichen tut ihr folgendes:

$ python manage.py dbshell

> ALTER TABLE deineApp_deinModel ADD COLUMN tags varchar;

Danach sollte alles soweit funktionieren. Zur Funktionalität von django-tagging werde ich mich jetzt nicht auslassen.
Dazu könnt ihr zum Beispiel hier nachlesen.