【问题标题】:Getting new functionality in Google App Engine with Django使用 Django 在 Google App Engine 中获取新功能
【发布时间】:2012-03-21 19:00:54
【问题描述】:

我正在尝试使用 GAE 将一些 HTML5 组件放入 Django。 我很感激它不受支持,但是诸如

之类的网站

http://forrst.com/posts/HTML5_Form_Widgets_in_Django-mTT

暗示我可以用 Django 的方式来做。这应该以某种方式实现这一点,而不是使用裸 HTML。但是我似乎无法在加载时公开正确的模块

from django.forms.widgets import Input

我得到以下信息:

django undefined, Input undefined

<type 'exceptions.ImportError'>: No module named widgets
      args = ('No module named widgets',)
      message = 'No module named widgets' 

However is one does help(django.forms.widgets) 

NAME
    django.newforms.widgets - HTML Widget classes

FILE
    /home/xxx/google_appengine/lib/django_0_96/django/newforms/widgets.py

CLASSES
    __builtin__.object
        Widget
            CheckboxInput
            MultiWidget
                SplitDateTimeWidget
            Select
                NullBooleanSelect
                RadioSelect
            SelectMultiple
                CheckboxSelectMultiple
            Textarea
    Input(Widget)
        FileInput
        HiddenInput
            MultipleHiddenInput
        PasswordInput
        TextInput

我做错了什么?

谢谢。

【问题讨论】:

  • 您正在运行 Django 0.96。这几乎是史前的。如果谷歌应用引擎支持,请切换到更高版本。它会为你省去很多痛苦。
  • 应用引擎最高支持 django 1.3 和 0.96,1.2 和 1.3 随 sdk 一起分发。

标签: python django html google-app-engine


【解决方案1】:

您需要使用正确版本的 Django,指定使用 use_library(),此处记录: http://code.google.com/appengine/docs/python/tools/libraries.html

您很可能希望使用 1.3

但是,请注意 Django 模型不适用于 App Engine。看起来您使用的是表单,它本身应该没问题,但如果您使用的是 ModelForms,则必须改用 djangoforms.ModelForm,它适用于 App Engine db 模型。

另一种选择是使用 Django-nonrel,它允许您在 App Engine 上使用 Django 模型,但功能有一些限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多