Портал Python-программистов

Форумы сайта python.su

Вы не зашли.

Объявление

Официальная wiki коммунити: wiki.python.su обсуждение

Официальная джаббер конференция коммунити: pythonua@conference.jabber.ru (всегда 20-35 онлайн участников). Настройки

КОД ОБОРАЧИВАТЬ В ТЕГИ [code][/code]
  • > TurboGears
  • > как сделать поиск по ID в примере wiki turbogear? [RSS Feed]

#1 2008-08-29 13:23:12

qman
Питонер
Зарегистрирован: 2007-07-02
Сообщений: 404
Профиль

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

Отредактированно qman (2008-08-29 13:24:39)

Неактивен

 

#2 2008-08-29 13:27:48

qman
Питонер
Зарегистрирован: 2007-07-02
Сообщений: 404
Профиль

Re: как сделать поиск по 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?

Отредактированно qman (2008-08-29 13:28:12)

Неактивен

 

#3 2008-08-29 14:01:11

PooH
Питонер
Откуда: Барнаул
Зарегистрирован: 2006-12-05
Сообщений: 804
Профиль

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

Код:

page = Page.get(id)

Прочитайте же наконец эту проклятую доку по SQLObject smile

Неактивен

 

#4 2008-09-01 14:27:09

qman
Питонер
Зарегистрирован: 2007-07-02
Сообщений: 404
Профиль

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

PooH написал:

Прочитайте же наконец эту проклятую доку по SQLObject smile

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

Неактивен

 

#5 2008-09-02 08:19:45

pythonwin
Команда
Откуда: за компом
Зарегистрирован: 2006-07-18
Сообщений: 1293
Профиль

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

qman написал:

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

qman, там одно предложение - пример кода. короче - не сложно


...мир скучен для скучных людей. Сократ.
язык Python
framework TurboGears
форум по TurboGears

Неактивен

 
  • > TurboGears
  • как сделать поиск по ID в примере wiki turbogear? [RSS Feed]

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Board footer

Реклама: