Форум сайта python.su
0
Здравствуйте, уважаемые форумчане
Предисловие: 2 дня назад решил окончательно отказаться от PHP в пользу Python/Ruby
После значительно долгих просмотров интернетов остановил свой выбор на Python по причине понятности и широкой области применения
Мой выбор пал на фреймворк Django(кто бы сомневался?), но надолго меня не хватило, документация очень забита ненужными мне фичами, которые из виду опускать не получается. После этого на stackoverflow нашел рекомендации от питон-гуру в пользу микро-фреймворков, коим, например, является Flask.
Изучаю доку и примеры с огромным удовольствием. Но, к сожалению, я пока не понимаю как работают реальные приложения.
Докопался до драйвера SQLAlchemy, который породил сразу несколько вопросов:
- Делается ли в работающих проектах import определенных методов из классов-библиотек
from bar import foo
import bar
from flask import Flask, url_for >>> app = Flask(__name__) >>> @app.route(’/’) ... def index(): pass ... >>> @app.route(’/login’) ... def login(): pass ... >>> @app.route(’/user/<username>’) ... def profile(username): pass ... >>> with app.test_request_context(): ... print url_for(’index’) ... print url_for(’login’) ... print url_for(’login’, next=’/’) ... print url_for(’profile’, username=’John Doe’)
Отредактировано delphiworld (Март 13, 2013 18:53:34)
Офлайн
19
Упоминание в одном посте слов delphi и PHP на питон форуме смахивает на толстый неприкрытый троллинг.
- Делается ли в работающих проектах import определенных методов из классов-библиотекПо желанию. В зависимости от того как удобнее.
- Как с прослойками? Создаете ли вы классы-оболочки db с методами вроде query внутри? Или же работаете с драйвером напрямую?Не совсем понятен вопрос. Точнее совсем непонятен. sqlalchemy полностью скрывает работу с драйвером базы данных.
Офлайн
0
Питонистов троллят рубисты, вроде как. Я не такой
sqlalchemy интерфейс
из примеров на офф сайте:
from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tablename__ = 'users' ... ... id = Column(Integer, primary_key=True) ... name = Column(String) ... fullname = Column(String) ... password = Column(String) ... ... def __init__(self, name, fullname, password): ... self.name = name ... self.fullname = fullname ... self.password = password ... ... def __repr__(self): ... return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
from bar import foo
Отредактировано delphiworld (Март 13, 2013 22:16:58)
Офлайн
19
именно по этому беспокоит целесообразность использовать
import sqlalchemy as sa
sa.Column(sa.Integer, primary_key=True)
Офлайн
43
sqlalchemy это модуль, а не класс. Column и т.д - это классы а не методы. Из класса нельзя ничего импортировать. С префиксом просто некрасиво все это смотрится поэтому и делают через from
Офлайн