FastNetMon

Monday 19 October 2009

Pylons: работа с БД средствами SQLAlchemy

Для начала подключаем необходимые для работы классы, в файле
vi myapp/controllers/main.py
в верху добавляем:


from myapp.model import meta
from myapp import model


Первое импортирует служебный класс meta, используемый для работы SQLAlchemy, а второе импортирует наши классы модели.

Теперь в файл
vi myapp/controllers/main.py
добавляем код записи в БД:

def db_write(self):
new_user = model.Person()
new_user.name = "Pavel"

meta.Session.add(new_user)
meta.Session.commit()



Теперь открываем нашу страницу через веб и следим, чтобы все прошло без ошибок:
http://127.0.0.1/main/db_write


Теперь напишем контроллер, который выдаст нам содержимое БД:


def db_read(self):
person_q = meta.Session.query(model.Person)
c.all_users = person_q.filter(model.Person.name=='Pavel').all()

return render("main/db_read.html")


Теперь необходимо создать шаблон:
vim myapp/templates/main/db_read.html


Вот его текст:


<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/"
lang="en">
<ul>
<li py:for="item in c.all_users">${item.id}:${item.name}</li>
</ul>
</html>




Теперь открываем страницу: http://127.0.0.1/main/db_read и любуемся нашим креативом =)

Итак, нам осталось разобраться с формами, пагинацией и все, можно будет приступать к созданию новых клевых сервисов =)

No comments :

Post a Comment

Note: only a member of this blog may post a comment.