2015-03-04 8 views
6

Ich frage mich, was die "Best Practice" ist für die Speicherung mittlerer Länge Zeichenfolgen in einer Benutzeroberfläche in Python/Django verwendet werden.Was ist die beste Vorgehensweise zum Speichern von UI-Messaging-Zeichenfolgen in Python/Django?

Beispiel: Ich habe eine error.html Vorlage, die ein error_description Feld dauert. Dies sind ein paar Sätze, die dem Benutzer erklären, was schief gelaufen ist und was sie tun könnten, um damit umzugehen. Es kann für verschiedene Fehlerseiten unterschiedlich sein, bleibt aber ziemlich stabil im Code (es gibt keinen Grund, dass jemand, der den Quellcode nicht pushen kann, in der Lage sein sollte, diesen zu modifizieren) und leicht im Speicher gehalten werden kann Ich denke, es sollte in der Datenbank aufbewahrt werden.

Meine aktuelle Idee ist, dass ich nur eine Art von messages.py Datei erstellen, die eine Reihe von String-Konstanten wie folgt hat:

ERROR_UNAUTHENTICATED_AJAX_EXPLANATION = "Hello, so the only way that this error should occur is if someone attempts to directly call our AJAX endpoint without having the verification code. Please don't do this, it's against the principles of this art projects." 

Im Allgemeinen gibt es eine kanonische Möglichkeit Strings zu speichern, die auch sind“ flexibel, um in "hart" codiert zu sein, aber "zu klein und statisch für Datenbanken" (und nicht mit Ihrer Nutzung skalieren)? Ich denke an die Art von Sache, die in einer strings.xml Datei in einem Android-Projekt wäre.

Andere Möglichkeiten, die ich jongliere, sind eine Textdatei, die von saves.py gelesen und als Konstanten gespeichert, eigentlich nur hart codiert und in Vorlagendateien gespeichert wird.

Es gibt viele Möglichkeiten, dies zu tun, und es ist keine sehr komplizierte Sache, ich will nur wissen, welche am "richtigen" ist.

Danke! Und lassen Sie mich wissen, wenn Sie mehr Informationen benötigen!

Antwort

6

Wenn Sie absolut sicher sind, diese Strings müssen nie dynamisch werden nur strings.py Modul erstellen und die Saiten dort als Variablen fallen („Konstanten“)

Da jedoch die Nachrichten Benutzer sichtbar sind, werden Sie am meisten Wahrscheinlich müssen Sie sie irgendwann während der Laufzeit Ihrer Anwendung lokalisieren. Folglich nutzen Sie bitte Djangos ausgezeichnete gettext Unterstützung machen:

https://docs.djangoproject.com/en/1.7/topics/i18n/

+0

Dank! Genau das, was ich wissen wollte! Ja, diese müssen wahrscheinlich irgendwann lokalisiert werden. –

Verwandte Themen