2011-12-25 1 views
0

localhost:8080で作業しているときに、対話型コンソールを開いてKindなど(アドレス:http://localhost:8080/_ah/admin/interactive)のリストを取得するなどの操作を行うと、アプリケーションエンジンのpythonはこのバグです:オープンスイッチの対話コンソール

<class 'google.appengine.dist._library.UnacceptableVersionError'>: django 1.2 was requested, but 0.96.4.None is already in use

このエラーは、似たようなケースでは、数回起こりました。これは、ローカルホストの再起動が完了するまで続きますdev_appserver.py

これはバグですか、間違っていますか?私はインタラクティブコンソールで何をしたかについて

例:

from myapp.models import * 
for room in Room.all(): 
    room.update_time = room.create_time 
    room.put() 

注:
これは私のdjango_bootstrap次のとおりです。

import os 
import sys 
import logging 
import __builtin__ 
from google.appengine.ext.webapp import util 

import pickle 
sys.modules['cPicle'] =pickle 

logging.getLogger().setLevel(logging.INFO) 

sys.path.insert(0, os.path.abspath((os.path.dirname(__file__)))) 

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 

from google.appengine.dist import use_library 
use_library('django', '1.2') 


import django.core.handlers.wsgi 

def main(): 
    application = django.core.handlers.wsgi.WSGIHandler() 
    util.run_wsgi_app(application)  

if __name__ == '__main__':  
    main() 

答えて

0

ルートフォルダにある私のindex.ymalは言う:

# AUTOGENERATED 

# This index.yaml is automatically updated whenever the dev_appserver 
# detects that a new type of query is run. If you want to manage the 
# index.yaml file manually, remove the above marker line (the line 
# saying "# AUTOGENERATED"). If you want to manage some indexes 
# manually, move them above the marker line. The index.yaml file is 
# automatically uploaded to the admin console when you next deploy 
# your application using appcfg.py. 

したがって私が開けるたびにhttp://localhost:8080/_ah/admin/datastore、このファイルは更新されました:これはまだ同じ内容ですが、オペレーティングシステム上のファイルのタイムスタンプは更新されていると言います。

私はここで、http://localhost:8080はmodels.pyが同じではないと判断したので、ロードするとdjango_bootstrapを開始できません。

ただし、最初にhttp://localhost:8080/_ah/admin/datastoreを開いてからhttp://localhost:8080を開いても機能します。だからこそなぜ私は時々エラーになります:それはそれぞれの順序のURLに依存します

1

これは、あなたがURLをロードしている順序によって引き起こされます。最初に管理ページに移動すると、0.96がロードされ、ハンドラが1.2をロードしようとするとエラーが発生します。

appengine_config.pyにu​​se_libraryコードを追加すると、すべてのURLに対して1.2がロードされます。

ここで手順を説明します。App engine default Django version change

関連する問題