IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
  
  1 Introduction Routes tackles an interesting problem that comes up frequently in web development, how do you map a URL to your code? While there are many solutions to this problem, that range from using the URL paths as an object publishing hierarchy, to regular expression matching; Routes goes a slightly different way. Using Routes, you specify parts of the URL path and how to match them to you
Makoのテンプレート継承について、ドキュメントを読みながら確認してみました。はじめはこのドキュメントを翻訳しようとしていたのですが、原文の説明がちょっと回りくどい感じがしたので、それは省略。わざわざPylonsプロジェクトを作るのも面倒なので、次のようなスクリプトを用意し、コマンドラインから試してみます。必要なテンプレートは、templatesというディレクトリの下に置いています。 from mako.lookup import TemplateLookup lookup = TemplateLookup(directories=['templates']) tmpl = lookup.get_template('c.html') print tmpl.render() 単純な継承c.htmlがa.htmlを継承するという一番単純なケースです。 ## a.html html> head>
コンテンツへスキップ 登録は無効化されました。
Installation Debian/Ubuntu Install: aptitude install python-pylons (available in lenny/testing or sid/unstable but not Etch!) Update: aptitude update && aptitude install python-pylons Easy-Install: Install: easy_install Pylons Update: easy_install -U Pylons virtualenv Project (Paste) Create new project paster create -t pylons myapplicationsname Remove the public/index.html welcome page Customize t
Pythonには、順序付きのリストでヒープを実装するheapqモジュールが用意されている。このモジュールを利用することで、アイテムの追加や削除の際もソートされた状態が維持される「優先順位付きキュー」を、素早く簡単に作成することができるのである。このheapqモジュールでは、常に最小のアイテムを返す「最小ヒープ」を実現するための関数が定義されており、以下のようにheappush関数を用いて値の追加を、heappop関数で値の削除を行える。 >>> from heapq import heappush, heappop >>> heap = [] >>> heappush(heap, 2) >>> heappush(heap, 10) >>> heappush(heap, 4) >>> heappush(heap, 5) >>> heappop(heap) 2 >>> heappop(heap
誰もが一度使うと便利さと気軽さに感動するRubyが誇るライブラリ、 Rake 。 プログラムのビルドもそうなんですが、雑多なタスクを簡単に書けて、整理できるのがなんといっても魅力的。RailsなんかではDBの作成から何から、ばんばんRakeタスクにされていますよね。 さて、俺はPythonistasなので、PythonでRakeみたいなのがほしいわけです。ビルドに限っていえばPythonは Scons という素晴らしいツールがあります。C言語はおろか、JAVA、PDF、PostScriptなどなど、さらにはSubversionもサポートしていますし、並列コンパイルもでき、実績も多数で申し分ありません。 でも俺がしたいのは、雑多なタスクを放り込む、コレ。そういうのを簡単にやるライブラリってPythonではないんでしょうか。RubyではRakeが標準添付されるというのに。いえ、あります。前から
The rapid web development megaframework you've been looking for. Skip to content Home About Documentation Install The CogBin Development News The CogBin Get an even faster start on your project using these pre-existing parts! Contents ApplicationsWidgetsTemplate Engine PluginsQuickstart TemplatesExtension ComponentsIdentity Providerstg-admin CommandsToscaWidgetsToolbox Plugins
To make this work with Elixir.0.4.0.dev I've created the following UsersFromDatabase: ----- myproject/users/elixir_driver.py ----- from sqlalchemy import * from authkit.users import * from elixir import * from authkit.users import sqlalchemy_driver class UsersFromDatabase(sqlalchemy_driver.UsersFromDatabase): """ Database Version """ def _init_(self, model, encrypt=None): sqlalchemy_driver
This document is published under the terms of the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
先日作ったファイルコピーツールにプラグイン機能を追加する時にも使えるかな。。。と思いながら、簡易プラグイン管理クラスを作ってみました。 クラスの名前はPluginMgrです。(あまりにも安易な名前ですけどね。。) このPluginMgrは以下のことを行います。 ・指定されたディレクトリ中から、モジュールをインポートする。 ・インポートしたモジュールがプラグインとしての条件(必要な関数が存在すること)を満たしている場合には モジュールごとに、関数名と関数オブジェクトの辞書を作成して保持。 ソースコードはこんな感じです。 # -*- coding: utf-8 -*- import os import sys import inspect # # class PluginMgr: ''' プラグイン管理マネージャ。 生成時に指定されたプラグインディレクトリ中から、プラグインプロトコル に適合す
      
  Pythonで自分用の小物アプリを結構書き溜めてるんですけど、実はそのほとんどにプラグインシステムみたいなのをつくってたりします。 たとえばファイルの整理自動化みたいなの。ファイルの移動前に処理を追加する、てな部分をプラグインにしてあるわけです。 まぁ機能的にはCPANのClass::Componentっぽいもんですね。ですがそこまで高機能なのはいらないので、シンプルに自分が必要な部分だけまとめてみました。 1from inspect import getmembers, ismethod 2import types 3 4class Pluggable(object): 5 def __init__(self): 6 self.hooks = {} 7 8 def load(self, *config): 9 self.load_config(*config) 10 self.load_
リストを辞書にするイディオム 過去の日記で書いたネタで、自分が発見して大発見だと思っていたら、リスト L を辞書 d にするイディオムが"4.4 シーケンスのアイテムとそのインデックスをループ処理"に載っていた。イディオムは以下の通り。インデックスが非負の有効範囲に限られるという制限と、富豪的(処理が重い)という制限があるが、手軽さの点では一番だと思う。 d=dict(enumerate(L)) isinstance isinstanceはタプルを引数に取れる。 isinstance(x, (list, tuple)) オブジェクトの反復可能をチェックする方法 iter(obj) で TypeError を起こさなければ obj は反復可能。 シーケンスの複数のインデックスの値を取り出す Pythonではmapよりリスト内包表記の方が推奨されているが、mapと特殊メソッドの組み合わせは面白
      
  yamakk blog turbogears python etc.. turbogears + apache(mod_proxy) turbogears(cherrypy)はデフォルトで8080ポートで動作しますが, Apacheが動いている環境で同じ80番ポートからアクセスできるようにする. mod_rewite mod_proxy mod_python これらの組み合わせで 高速化することも考えてmodpython + turbogears を試していましたが,複雑な感じがしたので今回はmodproxyのみで設定します. OS10.4.7 Server version: Apache/1.3.33 mod_proxyを有効に(httpd.conf) LoadModule proxy_module libexec/httpd/libproxy.so AddModule mod_pro
デフォルトで、TurboGears 1.0ではORMとしてSQLObjectが、テンプレートシステムとしてKidが採用されており、TurboGears 2.0ではORMとしてSQLAlchemyが、テンプレートシステムとしてGenshiが採用される予定です。 SQLObjectとSQLAlchemyにしろ、KidとGenshiにしろ、どちらを使うか・どちらを学習すべきかという議論は後を絶ちませんが、まずはこう理解することが大切なのではないかと思います。 どちらを選択するのかはケースバイケースなので、一概に、そして明確に、「こちらがよい」とは誰も断言できない重要なのは両者の違いを把握し、自分のスキルや作成するアプリケーションの要件を鑑みながら適切な選択をすること とはいえ、私のような知識も経験も目的もないようなダメダメ人間には、そもそも違いがよくわからないので大変です。ということで
SQLAlchemyのよろこび SQLAlchemy はMichael Bayerによって開発中の新しいデータベースライブラリです。TurboGearsにおける主な利用法は、ORMレイヤーにおけるSQLObjectの置換です。SQLAlchemyはSQLObject以上の数々のアドバンテージを持っています: 整数でないプライマリキーのサポート 複合(マルチカラム)プライマリキー 任意のselectをオブジェクトにマップできる いくつかのテーブルを一つのオブジェクトにマップできる(その逆も可能) 作業単位のコンセプトに基づいて、可能な限りクエリを効率的に実行する もちろんいくつかのSQLAlchemyを使うことでのマイナス点もあります: 宣言とマッピングがSQLObjectよりも冗長 SQLObject?の方がプロダクトとして長く使われている 開発途中であり、APIがリリースポイント間で変更
前回SQLAlchemyで超簡易コメントモデルを作ってみたのですが、他にもGenshiやらToscaWidgetsやらをいじってみるためにBBSライクなものを作成してみます。 準備する 事前準備としてTurboGears以外に easy_install gsquickstart easy_install ToscaWidgets easy_install twForms としておくとよさげなので、実行しました。 gsquickstartはGenshiでプロジェクトを作るのに便利です。quickstartに「-t tggenshi」を与えることで、デフォルトのテンプレートシステムが(Kidではなく)Genshiになります。 またToscaWidgets、twFormsはToscaWidgetsを使うために必要です。 プロジェクトを作る SQLAlchemyとGenshiで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く