Sto eseguendo alcuni codici di test di base, con web.py e GAE (Windows 7, Python27). Il modulo consente di inviare messaggi al datastore. Quando interrompo l'app ed eseguo di nuovo, tutti i dati pubblicati in precedenza sono scomparsi. Aggiungere manualmente le entità usando l'admin (http: // localhost: 8080/_ah/admin/datastore) ha lo stesso problema.Il contenuto del datastore locale dell'app Engine non persiste
ho provato a fissare il percorso nelle Impostazioni Applicazione che utilizza flag extra:
--datastore_path=D:/path/to/app/
(non era sicuro sulla sintassi lì). Non ha avuto effetto. Ho cercato il mio computer per * .datastore, e non sono riuscito a trovare alcun file, il che sembra sospetto, anche se i dati sono ovviamente archiviati da qualche parte per la durata dell'applicazione in esecuzione.
from google.appengine.ext import db
import web
urls = (
'/', 'index',
'/note', 'note',
'/crash', 'crash'
)
render = web.template.render('templates/')
class Note(db.Model):
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
class index:
def GET(self):
notes = db.GqlQuery("SELECT * FROM Note ORDER BY date DESC LIMIT 10")
return render.index(notes)
class note:
def POST(self):
i = web.input('content')
note = Note()
note.content = i.content
note.put()
return web.seeother('/')
class crash:
def GET(self):
import logging
logging.error('test')
crash
app = web.application(urls, globals())
def main():
app.cgirun()
if __name__ == '__main__':
main()
UPDATE: quando l'eseguo tramite linea di comando, ottengo il seguente:
WARNING 2012-04-06 19:07:31,266 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
INFO 2012-04-06 19:07:31,778 appengine_rpc.py:160] Server: appengine.google.com
WARNING 2012-04-06 19:07:31,783 datastore_file_stub.py:513] Could not read datastore data from c:\users\amy\appdata\local\temp\dev_appserver.datastore
WARNING 2012-04-06 19:07:31,851 dev_appserver.py:3394] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:647] Running application dev~palimpsest01 on port 8080: http://localhost:8080
INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin
suggerendo che il datastore ... non ha installato correttamente?
possibile duplicato di [datastore locale non persistente tra i riavvii dell'applicazione] (http://stackoverflow.com/questions/7430888/local-datastore-not-persisted-between-application-restarts) –
@AdamCrossland Non credo è un dup, in questa domanda ogni cosa viene cancellata mentre nella domanda precedente viene cancellata una parte dei dati. –
Dai un'occhiata ai log (nel pannello della console) quando pranzi l'app vedrai qualche avviso lì? –