Trunk ist mit brunch Queryset-refactor ergänzt, der die Django-Modelle ganz einfach zu vererben lässt. Es ist längst bekannt. Die Vererbung ist aber keine einzelne Möglichkeit, es gäbe noch Monkey patching.
Die Idee ist, dass Monkey patching erlaubt genauso nicht nur die Felder, sondern auch die Funktionen hinzufügen.
Zum Beispiel, so wird das Modell User mit dem Feld OpenID ergänzt, dazu kommt noch die Funktion, die Nickname zurück gibt, falls es keinen Namen gab
from django.contrib.auth.models import User

User.add_to_class('openid', models.CharField(max_length=250,blank=True))

def get_user_name(self):
    if self.first_name or self.last_name:
        return self.first_name + " " + self.last_name
    return self.username

User.add_to_class("get_user_name",get_user_name)
Die deutlichen Vorteile der Methode:
keine weiteren Tabellen werden geschafft
man arbeitet mit dem Modell mit allen Django-Standardmittel

11 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 5 (11 votes, average: 5 out of 5)
Loading ... Loading ...
Für die Aufbewahrung der Zustände der Elementen werden manchmal die Bitmasken verwendet. Zum Beispiel, als Zustände - gelesener/ungelesener Kommentar zu einem Artikel für einzelnen Benutzer. Obwohl es für diesen konkreten Fall besser wäre, die Uhrzeit/das Datum des letzten Besuchs eines Artikels aufzubewahren, hier können aber auch andere Aufgaben aufkommen, in denen man sich die binären Angaben für die Elemente merken muss, die kein Datum enthalten.

Man kann die M2M-Verbindung zwischen einem User und Objekt verwenden. Ein großer Nachteil ist aber wesentliche Ressourcen für Index und die Einträgeanzahl, wenn es viele Benutzer und Beobachtungsobjekte gibt. Hier ist es sinnvoll die Bitmasken zu verwenden, sie haben keinen solchen Nachteil.

(more...)

6 Votes | Average: 4.3 out of 56 Votes | Average: 4.3 out of 56 Votes | Average: 4.3 out of 56 Votes | Average: 4.3 out of 56 Votes | Average: 4.3 out of 5 (6 votes, average: 4.3 out of 5)
Loading ... Loading ...
Jared Kuolt hat den StaticGenerator für Django - ein Cache-Script geschafft. Es ist kompakt und einfach zu bedienen. Das Skript aber und die von Jared gezeigte nginx-Konfiguration haben ein paar Nachteile:
1) aktuell nur für die Websites ohne Registrierung;
2) geeignet für die Arbeit mit nur einfachen Links;
3) Generierung ist nur bei der Veränderung/Ergänzung des Kontents und/oder der Kommentare.

Ich habe dies korrigiert, noch etwas zugefügt, daraus ist StaticGenerator Pro gekommen.

(more...)

16 Votes | Average: 4.9 out of 516 Votes | Average: 4.9 out of 516 Votes | Average: 4.9 out of 516 Votes | Average: 4.9 out of 516 Votes | Average: 4.9 out of 5 (16 votes, average: 4.9 out of 5)
Loading ... Loading ...
Ein kleiner Artikel darüber, wie kann man auf die Daten direkt, ohne Anfrage zum Web Server, zugreifen z.B. für das Bekommen und Aktualisierung der Daten per cron.

(more...)

5 Votes | Average: 4.4 out of 55 Votes | Average: 4.4 out of 55 Votes | Average: 4.4 out of 55 Votes | Average: 4.4 out of 55 Votes | Average: 4.4 out of 5 (5 votes, average: 4.4 out of 5)
Loading ... Loading ...
Zu den Suchmaschinen wieder. Kleine Nachricht über Djangosearch.com.
Nun wird die Suche nicht durch die einzelnen gewählten Web-Seiten gestartet, sondern durch alle Seiten, die die Nutzer für Djangosearch zufügen. Wegen großer Anzahl wertvoller Artikel finde ich es einfach optimal so.
Hier ist es auch möglich für die Suche eine beliebte Sprache auszuwählen.

Außerdem ist Djangosearch mit Google-translator ergänzt - es war ein sinnvoller Ratschlag in einem der Commentaren, man kann die Artikel gleich in jede Sprache übersetzen.

Kritik und noch welche Gedanken über Userfreundlichkeit der Djangosearch erwünscht!

6 Votes | Average: 5 out of 56 Votes | Average: 5 out of 56 Votes | Average: 5 out of 56 Votes | Average: 5 out of 56 Votes | Average: 5 out of 5 (6 votes, average: 5 out of 5)
Loading ... Loading ...

2 ... 5

Powered by Django.