Найти - Пользователи
Полная версия: как сделать поиск по ID в примере wiki turbogear?
Начало » Pyramid / Pylons / TurboGears » как сделать поиск по ID в примере wiki turbogear?
1
qman
всем привет,
разбираю как работает пример wiki20 на сайте по turbogear.
сделал простую свою модель:
class Material(SQLObject):
name = UnicodeCol(dbEncoding="cp1251")
unit = UnicodeCol(dbEncoding="cp1251")
type_material = UnicodeCol(dbEncoding="cp1251")
шаблон
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
<title>Editing - 20 Minute Wiki</title>
</head>
<body>
<div id="main_content">
<div style="float:right; width: 10em">
Editing <span py:replace="material.name">Page Name Goes Here</span>
<br/>
You can return to the <a href="/">FrontPage</a>.
</div>
<form action="save" method="post">
<input type="hidden" name="materialid" value="${material.id}"/>
<textarea name="name" py:content="material" rows="10" cols="60"/>
<input type="submit" name="submit" value="Save"/>
</form>
</div>
</body>
</html>
как работает Page.byPagename(pagename) в примере wiki20 по turbogear?
мне нужно сделать получение по Id, для этого пишу в контроллере:
def edit(self, id):
materials = Material.byId(id)
return dict(material = materials)
получаю ошибку
materials = Material.byId(id)
AttributeError: type object 'Material' has no attribute 'byId'
тогда не понятно как работает данный код в примере wiki20?
сможет ли кто нибудь объяснить?
решил попробовать по другому - в контроллере:
@expose("flat.templates.material_edit") 
def edit(self, id):
materials = Material.selectBy(id = id)
return dict(material = materials)
тогда ошибка
  File "c:\Documents and Settings\user\workspace\1\src\flat\flat\templates\material_edit.py", line 67, in _pull
AttributeError: 'SelectResults' object has no attribute 'name'
Error location in template file 'c:\\Documents and Settings\\user\\workspace\\1\\src\\flat\\flat\\templates\\material_edit.kid'
between line 11, column 20 and line 12, column 12:
... <span py:replace="material.name">Page Name Goes Here</span>
подскажите как сделать самую простую страницу для редактирования данных на примере wiki20? Нужно редактировать 3 поля, указанных в модели.
qman
вкратце на странице http://docs.turbogears.org/1.0/Wiki20/Page3
есть код :
@expose(template="wiki20.templates.edit")
def edit(self, pagename):
page = Page.byPagename(pagename)
return dict(page=page)
как заменить его на поиск по полю ID вместо byPagename?
PooH
page = Page.get(id)
Прочитайте же наконец эту проклятую доку по SQLObject :)
qman
PooH
Прочитайте же наконец эту проклятую доку по SQLObject smile
Спасибо. в английском не силен. читал, но не все понял..
pythonwin
qman
Спасибо. в английском не силен. читал, но не все понял..
qman, там одно предложение - пример кода. короче - не сложно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB