如果我將使用djangoforms的處理程序註釋掉,其他所有工作似乎都可以工作。Google App Engine,Python 2.7運行時,ImportError:無法導入名稱djangoforms
以下是我修改的app.yaml:
application: xxxxxxx
version: 5
#` -1+1
# runtime: python
runtime: python27
api_version: 1
inbound_services:
- mail
#` +3
libraries:
- name: django
version: "1.2"
handlers:
- url: /(.*\.(html|css|js|gif|jpg|png|ico))
static_files: static/\1
upload: static/.*
expiration: "1d"
# expiration: "1m"
- url: .*
script: main.py
- url: /_ah/mail/.+
script: lib/handler_mail.py
login: admin
以下是main.py的摘錄,我修改:
import os
# dummy, enables django template filters to be registered
os.environ[u'DJANGO_SETTINGS_MODULE'] = u'conf'
#` -2
# from google.appengine.dist import use_library
# use_library('django', '1.2')
from functools import wraps
from appengine_utilities.cache import Cache
from google.appengine.api import taskqueue
from google.appengine.ext.db import djangoforms
...
這裏的跟蹤從我的日誌後面: 回溯(最近呼叫最後): 文件「/base/data/home/apps/s~cirrussecure1/5.354034990641807540/main.py」, 第23行, from google.appengine.ext.db import djangoforms ImportError:無法導入名稱djangoforms
我正在做的事情不會讓我導入djangoforms,但不會影響其他任何東西。我谷歌搜索,但沒有人似乎有問題(還?)。謝謝。
@all研究發現,讓我去上GAE/Python的2.7,但我不喜歡它或谷歌處理的釋放這部分的方式加以解決。
我試過wtforms,並嘗試使用gae/python 2.5在調用足夠前取得一些進展。
然後,我得到了djangoforms.py(從http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/db/djangoforms.py),把它放在我的文件中,並讓它與gae/python 2.7一起工作。
我使用了上面顯示的app.yaml。還必須將 {{form_section}}更改爲兩個模板文件中的{{form_section | safe}} 。
我想Django已經不再支持gae團隊了。我可以理解djangoforms是否被棄用一年然後掉線。然而,在沒有任何警告的情況下,甚至在文檔中提到的,將當前版本與前一版本進行比較,對您的客戶來說不是一件好事。
@google請更新您的文檔,文章,示例等,這樣其他人就不必像我一樣浪費一天時間。
您是否能夠在您的dev沙箱中看到這些錯誤?我只在生產環境中看到它們,但我的開發沙箱工作正常,這很煩人的調試東西。 – dfrankow
我目前也遇到了這個問題,我正在尋找更多的Django中的任一補丁和更多的django形式,比如使用www.allbuttonspressed.com的預覽等,或者像Nick Johnson說的那樣選擇特定的表單框架 –