Форум сайта python.su
Сама форма:
<form method=“post” action=“save”>
<input type=“text” name=“user_name” value=“Имя” size=“30” /><br /><br />
<input type=“text” name=“user_lastname” value=“Фамилия” size=“30” /><br /><br />
<input type=“text” name=“user_part” value=“Отдел” size=“30” /><br /><br />
<input type=“submit” name=“save” />
</form>
Метод:
@expose()
def save(self, pagename, user_name, user_lastname, part, submit):
page = Page.byPagename(pagename)
page.data = part
turbogears.flash(“Changes saved!”)
raise turbogears.redirect(“/”, pagename=pagename)
При таком раскладе - не получается:
TypeError: users() got an unexpected keyword argument ‘user_lastname’
Отредактировано (Июнь 18, 2007 13:35:26)
Офлайн
напиши так:
@expose()
def save(self, **kw):
return str(kw)
и увидешь что форма возвращает в метод :)
Офлайн
pythonwin
Та же самая ошибка.
Page handler: <bound method Root.users of <invent.controllers.Root object at 0x88bf50c>>
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/cherrypy/_cphttptools.py", line 105, in _run
self.main()
File "/usr/local/lib/python2.5/site-packages/cherrypy/_cphttptools.py", line 254, in main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in users
File "/usr/local/lib/python2.5/site-packages/TurboGears-1.0.2.2-py2.5.egg/turbogears/controllers.py", line 336, in expose
*args, **kw)
File "<string>", line 5, in run_with_transaction
File "/usr/local/lib/python2.5/site-packages/TurboGears-1.0.2.2-py2.5.egg/turbogears/database.py", line 303, in so_rwt
retval = func(*args, **kw)
File "<string>", line 5, in _expose
File "/usr/local/lib/python2.5/site-packages/TurboGears-1.0.2.2-py2.5.egg/turbogears/controllers.py", line 351, in <lambda>
mapping, fragment, args, kw)))
File "/usr/local/lib/python2.5/site-packages/TurboGears-1.0.2.2-py2.5.egg/turbogears/controllers.py", line 378, in _execute_func
output = errorhandling.try_call(func, *args, **kw)
File "/usr/local/lib/python2.5/site-packages/TurboGears-1.0.2.2-py2.5.egg/turbogears/errorhandling.py", line 73, in try_call
return func(self, *args, **kw)
TypeError: users() got an unexpected keyword argument 'user_lastname'
Офлайн
Спасибо. Проблему пофиксил.
Правильно было так:
controllers.py
Метод controllers.Root.save:
@expose()
def save(self, **kw):
return str(kw)
Отредактировано (Июнь 18, 2007 16:36:50)
Офлайн
TypeError: users() got an unexpected keyword argument ‘user_lastname’Так у тебя форма обращается к методу users, а вовсе не save, код которого ты здесь привел
Офлайн
PooH
Спасибо, я уже понял что проблема была в этом и еще в другом.
Офлайн