読者の皆さん、すばらしいPylons Webフレームワーク(Python言語)についてお話します。 彼がなぜハブに注意を奪われたのかは明らかではない 私はこの不正を修正しようとします。 私は彼を最高だと思い、彼の魅力の多くをあなたに明らかにしようとします。
Pylonsは、 ウィキが私たちに伝えているように、一般的なソリューションに注目して作成されました。 しかし、個人的な経験から、主なアイデアはRuby On Railsから取り入れられ、改善されたことをお伝えします!
Pylonsは外部コンポーネントを積極的に使用します:
- ORM: SQLAlchemy 、 SQLObject 、 CouchDB
- テンプレート: Mako 、 Genshi 、 Jinja2
- HTMLスニペットの挿入:WebHelpers
- フォームジェネレーター: FormAlchemy 、 FormEncode 、 ToscaWidgets
- リクエストルーティング:ルート
モデルの使用
私は錬金術しか練習しなかったので、例があります。
モデルについて説明します。
# user = User(name=u"") user.password = sha1("12345").hexdigest() session.add(user) # masha = session.query(User).filter_by(name=u"").first() # post = BlogPost(title=u" ", body=" ",user = masha) # post.keywords.append(Keyword(keyword='cookies')) # session.delete(masha) # , , "" tUser = User.__table__ session.execute(tUser.delete().where(tUser.c.name.like(u'A%')))
ルーティング
対応する鉄道の正確なコピーをルーティングします。 サブドメインでの作業を除きます。 他のフレームワークでもまもなく登場するはずです。
ルート設定の例:
# map.connect("user_info", "/users/:name/info", controller="account", action="info") # submappers with map.submapper(controller="blog", path_prefix="/blog/") as blog: # regexp blog.connect(R"{id:\d+}", action="show") # REST- blog.connect("create", action="create", conditions=dict(method=["POST"])) blog.connect("update", action="update", conditions=dict(method=["PUT"]))
私たちは使用します:
url_for("user_info", name="vlad") => "/users/vlad/info" url_for(controller="blog", action="show", id="5") => "/blog/5"
PS
テンプレート、レールの哲学について特別なことは何もありません。Pythonコードを記述することはできませんが、テストには便利です。 しかし、フォームは別の問題ですが、これは次回です。
ご清聴ありがとうございました。