本文を読み飛ばす

pyramidでサイト更新してみた所感

いまどきブログとか使わず自分でサイトを作っています。

今回、ツールとしてZopeからpyramidに移ったので 所感を書いておきます。

サイトの作り方は今までどおり下のような手順です。

  1. ローカルの動的なサイトを作る

  2. wgetみたいなスクリプトで一旦ローカルに保存

  3. bitbucketにpush

これまで使ってたファイルはstaticで公開

  1. add_static_viewでフォルダごと出力

    • 画像フォルダ、javascript、CSSとか

  2. Zopeで出力したファイルは置換もするので、FileResponseで出力

    • 置換でいろいろできる。

ちょっとあせったのは、wgetで書込みするときに \ pyramidのファイル読込みがデッドロックみたいになることでした。

同じファイル名にそういうことすればダメなのは \ 気づいて見れば当然なんですが...

別のフォルダでwgetすればOKでしたが、 \ こんな運用できないって気づくのが遅いですね。 \ 適当に作るのはよくないな。

ついでに スクリプトのブランチ と公開サイトのブランチは分けました。

URLディスパッチ便利

Zopeではフォルダ構造作る必要がありました。 それが面倒でquery風のファイル名をつけてしのいでいました。:

article?id=00492&ext=.html

Linuxだとこれでもちゃんとファイル名として扱えますが、 \ Windows系のNTFSでは?などの文字はファイル名として許されず、 \ 開発できません。(仮想PCで実行したり工夫する必要がある)

ディスパッチを使えば自然な名前で 動的な動作が実現できてだいぶ楽になりました。

その他

  • DTMLDocumentをファイルに変更 => 結局動的な文書なんて作ってなかったから変化なし

  • ZPT => Zopeと同じ

  • Zope.DateTimeでなくpython.datetime => rfc822がないので追加したぐらい

  • docutilsの導入 => Zopeと同じ

  • docutilsでraw::htmlの許可 => Zopeと同じ

  • ReSTに'\'→'<br>'を追加 => Zopeと同じ(置換するだけなので)

  • BeautifulSoupの導入 => Zopeと同じ

  • テスト書いてない => 反省

まとめ

Zopeからpyramidはあんまり違和感なく移行できました。

pyramid自体は、他のアプリ作るのでだいぶ勉強した後だったので \ そっちのおかげで違和感なかっただけかもしれません。

ちなみに、このスクリプトは海外出張の飛行機待ちが長くて \ その暇つぶしで一気につくりました。

ここのところプライベートでは落ち着いてスクリプト かけてなかったので楽しかったなぁ。

コメント

Comments powered by Disqus
宣伝: