Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2008 12:23:12

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как сделать поиск по ID в примере wiki turbogear?

всем привет,
разбираю как работает пример 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 поля, указанных в модели.



Отредактировано (Авг. 29, 2008 12:24:39)

Офлайн

#2 Авг. 29, 2008 12:27:48

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как сделать поиск по ID в примере wiki turbogear?

вкратце на странице 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?



Отредактировано (Авг. 29, 2008 12:28:12)

Офлайн

#3 Авг. 29, 2008 13:01:11

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

как сделать поиск по ID в примере wiki turbogear?

page = Page.get(id)
Прочитайте же наконец эту проклятую доку по SQLObject :)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Сен. 1, 2008 13:27:09

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

как сделать поиск по ID в примере wiki turbogear?

PooH
Прочитайте же наконец эту проклятую доку по SQLObject smile
Спасибо. в английском не силен. читал, но не все понял..



Офлайн

#5 Сен. 2, 2008 07:19:45

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

как сделать поиск по ID в примере wiki turbogear?

qman
Спасибо. в английском не силен. читал, но не все понял..
qman, там одно предложение - пример кода. короче - не сложно



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version