Cir*_*ure 11 python google-app-engine
如果我注释掉使用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
Run Code Online (Sandbox Code Playgroud)
以下是我修改过的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
...
Run Code Online (Sandbox Code Playgroud)
这是从我的日志回溯:Traceback(最近一次调用最后一次):文件"/base/data/home/apps/s~cirrussecure1/5.354034990641807540/main.py",第23行,来自google.appengine.ext.db import djangoforms ImportError:无法导入名称djangoforms
我正在做的事情不会让我导入djangoforms但不影响其他任何事情.我用Google搜索了,但似乎没有其他人出现问题(但是?).谢谢.
@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请更新您的文档,文章,示例等,以便其他人不必像我一样浪费一天.
该google.appengine.ext.db.djangoforms模块未随Python 2.7提供.你可以自己修补一个副本,但更好的想法是修改你的表单处理代码而不是依赖它 - 它是不受支持的,坦率地说是一个黑客攻击.
| 归档时间: |
|
| 查看次数: |
3871 次 |
| 最近记录: |