2012-07-30 38 views
0

我在Google App Engine中使用WTForm。我想作爲一個班級訪問我的表單。作爲類jinja2的形式

這一點也適用djangoforms ...

class PostForm(djangoforms.ModelForm): 
    class Meta: 
    model = BlogPost 
    exclude = [ 'path', 'published', 'updated' ] 

我怎麼做WTforms相當。

class PostForm(model_form): 
    class Meta: 
    model = BlogPost 
    exclude = [ 'path', 'published', 'updated' ] 

我得到這個錯誤與回溯...

Traceback (most recent call last): 
    File "C:\Users\John\webdev\gae\google\appengine\runtime\wsgi.py", line 187, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "C:\Users\John\webdev\gae\google\appengine\runtime\wsgi.py", line 225, in _LoadHandler 
    handler = __import__(path[0]) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 1858, in load_module 
    return self.FindAndLoadModule(submodule, fullname, search_path) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 1722, in FindAndLoadModule 
    description) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 676, in Decorate 
    return func(self, *args, **kwargs) 
    File "C:\Users\John\webdev\gae\google\appengine\tools\dev_appserver_import_hook.py", line 1665, in LoadModuleRestricted 
    description) 
    File "C:\Users\John\webdev\gae-projects\cmwo-blog\admin.py", line 69, in <module> 
    class PostForm(model_form): 
TypeError: Error when calling the metaclass bases 
    function() argument 1 must be code, not str 
INFO  2012-07-30 14:40:31,700 dev_appserver.py:2952] "GET /admin/newpost HTTP/1.1" 500 - 
+0

看起來像model_form出了問題,也許你會覆蓋它的任何機會? – 2012-07-30 14:52:31

回答

1

WTForms的model_form不採取任何元內部類的照顧。也許你可以覆蓋PostForm類的'__init__'方法。

+1

是的,看起來這在WTForms中不支持,就像它在Djangoforms中一樣。 – Busilinks 2012-07-31 11:28:54