Frage

Ich habe gerade angefangen auf web2py arbeiten. Persönlich finde ich es einfacher als Django zu lernen.

Meine Frage ist, dass ich eine Datei beim Start der Anwendung zu laden. Es ist eine eingelegte hashtable. Wo soll ich diese Datei, so dass das System in der Lage ist, es zu sehen

Mein Code ist:

import cPickle as pickle
def index():
    """
    Load the file into memory and message the number of entries
    """
    f = open('tables.pkl','rb')
    session.tables = pickle.load(f)
    f.close()
    terms = len(session.tables.keys())
    message = 'The total entries in table = ' + str(terms)
    return dict(message=message) 

Wie Sie sehen können, habe ich den Code in Index gesetzt haben () es beim Start zu laden. Derzeit verwende ich den absoluten Pfad bis zu dem physischen Standort der ‚tables.pkl‘ Datei. Wo soll ich in meiner Bewerbungsmappe setzte es.

Auch möchte ich Tabellen variabel auf alle Funktionen in der Steuerung zur Verfügung stehen. Ist session.tables der richtige Weg zu gehen? Es ist nur eine Suche App, so dass keine Benutzeranmeldung ist. Die Tabelle muss nur einmal für alle Benutzer geladen werden, um die Seite zugreifen. Danke.

War es hilfreich?

Lösung

Ich denke, die privat Ordner ein guter Ort für diese wären. Sie können den absoluten Pfad erhalten mit:

import os
fp = os.path.join(request.folder,'private','tables.pkl')    

würde ich Cache statt Sitzung, wenn die Datei ist pro Benutzer nicht eindeutig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top