2 Stimmen

Gibt es irgendwelche Probleme oder Dinge, die man als Django-Neuling beachten sollte?

Mit anderen Worten: Was wussten Sie nicht, als Sie mit Django anfingen, und Sie wünschten, jemand hätte es Ihnen gesagt?

Ich habe mich etwas mit Django beschäftigt, aber nichts wirklich Ernstes. Allerdings hoffe ich, das zu ändern, und ich frage mich, ob es alle gotchas / Fehler / was auch immer, dass ich bewusst sein müssen, wie ich gehe.

6voto

Eli Bendersky Punkte 246100

Achten Sie auf die Angabe absoluter Pfade in Ihrem settings.py Datei. Django bietet keine fertige Lösung, um alles relativ zu machen, und Sie müssen die Dienstprogramme von Python verwenden. Die übliche Lösung ist etwas wie:

import os
def abspath(file):
    return os.path.join(os.path.dirname(__file__), file).replace('\\','/')

(Der letzte Ersetzungsteil ist für Windows-Läufe).

Und verwenden Sie es dann wie folgt:

DATABASE_NAME = abspath('mydb.db')
MEDIA_ROOT = abspath('media/')

usw.

4voto

S.Lott Punkte 371691

Sie können keine Daten in Vorlagen verarbeiten. Es gibt eine ganze Reihe von Fragen in SO von Leuten, die versuchen, "echte" Verarbeitung in den Templates zu machen. Die Templatesprache von Django ist - absichtlich - kein JSP oder ASP oder PHP. Sie dient lediglich der Darstellung und dem Abruf von Werten, die in View-Funktionen berechnet werden.

Wenn Sie nicht herausfinden können, wie Sie das in der Vorlage tun können, versuchen Sie vielleicht, zu viel zu tun. Verwenden Sie die Ansichtsfunktionen so oft wie möglich.

4voto

S.Lott Punkte 371691

Formulare verwenden für todo Datenüberprüfung. Bulk Loading, Stapelverarbeitung, Webdienste, alles.

Auf den ersten Blick erscheint es seltsam, eine CSV-Datei zu lesen, ein Formular auszufüllen und dann das Formular die Daten validieren und das Datenbankobjekt erstellen zu lassen. Aber genau so soll es funktionieren. Verwenden Sie die Formulare für alle Validierungen, unabhängig von der Datenquelle.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X