2010-05-01から1ヶ月間の記事一覧

はてな記法みたいなの

はてな記法みたいなテーブルとかそこら変が出来ないかなーと思っていたらmarkupという説明にtextileというモジュールを使用できると書いてある。 “django.contrib” 下のアドオン — Django v1.0 documentationんでそのとおりにやってみたけど動かない。 よく…

フィルタを自作する

とても分かりやすかったです。 http://d.hatena.ne.jp/monajiro/20100322/p1

シンタックスハイライトするにはフィルタが必要?

なんか組み込みフィルタだけだとうまくいかない。 出力時に本文の一部のみを変形させる処理が必要なっちゃう。毎回そんなフィルタ通すくらいなら、保存するときにHTMLに整形したフィールドをもってsafeで表示させた方がいいんじゃないだろうか。。

CSS,JSなどを追加する方法

静的なファイルの提供方法 静的なファイルの提供方法 — Django v1.0 documentationここに乗ってる/path/to/mediaは絶対パス

easy_isntallのインストール

ここ参照 http://labs.unoh.net/2007/04/python.html他にも virtual-pythonの記事があった。

シンタックスハイライトするモジュールいっぱいある

http://www.webresourcesdepot.com/11-syntax-highlighters-to-beautify-code-presentation/使うならこの2つのどちらかかな。 SyntaxHighlighter (With JS) Pygments (With Python)

Djangoのテンプレートには独自の言語がある

DjangoのテンプレートはPHPのようにPHPのロジックを入れられない。 Django テンプレート言語 — Django v1.0 documentationサンプルにfor..inループがあったので、配列に直接アクセス出来るんだろうと思ってi[0]のようにしたら出来なかった。調べたらDjangoに…

Djangoの簡易整理

Djangoの基本流れ サイトを定義する アプリケーションを定義する モデルを定義する DBを作る Adminアプリを追加する viewsを定義する テンプレートを定義する とりあえず日記を登録して一覧表示できるようになった。 結構いろいろな事やらないとだなー。 で…

ブログの日記モデル部分について

日記テーブル定義 日付 記事ID 記事タイトル 記事本文 最終更新日 class Diary(models.Model): date = models.DateField() # Djangoってのは何も指定しなければKeyが生成されるらしい id = models.AutoField(primary_key=True) title = models.CharField(max…

自分用のブログシステム作成する

とりあえず、何も作る物がないので、自分用ブログシステムを作成することに決めた。 中国からのハテナの訪問凄い遅いしなー。 とりあえずの要件1 記事タイトル 記事本文 とりあえずの要件2 プログラムのハイライト入力 コメント プロフィール リンク集 とり…

デーモンスレッドと通常スレッドは違う

スレッド破棄のタイミング スレッドが正常終了時 スレッド内でエクセプションがあり異常終了時 デーモンスレッドはデーモンスレッド以外のスレッドがなくなった時点で全て自動終了する Thread中の動きを決定するには Threadオブジェクトを__init__(),run()の…

PythonのWEBフレームワーク一覧

Webアプリケーションフレームワーク - Wikipedia 一番下にPythonのWEBフレームワーク一覧があったのでメモ

はじめての Django アプリ作成、その 3

はじめての Django アプリ作成、その 3 — Django v1.0 documentation View ViewからHtmlテンプレートを読み込むことが出来る django.shortcutsには良くある処理が含まれるので便利 urls.py UrlとViewの対応をつける mysite.polls.views.detailをロードviews.…

Django クエリを生成する部分

モデルクラス データベーステーブルを表現 クラスのインスタンスがテーブル上のレコードを表現する 疑問点:DBからモデルクラスを作成できる? オブジェクトの取得条件 色々ある(,=,like,pk,limitなど) キャッシュとクエリセット どのタイミングでクエリが走…

クロージャは関数を返す関数

>>> def make_adder(addend): ... def adder(augend): ... return augend + addend ... return adder ... # adder100,adder200二つ作っても互いに依存しない >>> adder100 = make_adder(100) >>> adder200 = make_adder(200) >>> adder100(100) 200 >>> adde…

はじめての Django アプリ作成、その 2

はじめての Django アプリ作成、その 2 — Django v1.0 documentation サイト管理者向けの一元化されたコンテンツ編集インタフェースの提供 admin サイト モデルの管理サイトが用意されている 項目の表示順序は変更できる 項目の表示を纏められる collapseで…

PyScripterでDjangoのデバッグ方法

ファイルエクスプローラでDjangoのmanage.pyがあるフォルダに行く フォルダを右クリックしてここに移動 models.py,view.pyなどにブレークポイントを貼る 実行>コマンドラインパラメータにrunserver --noreloadを記入。 コマンドラインパラメータを使用するを…

はじめての Django アプリ作成、その 1

はじめての Django アプリ作成、その 1 — Django v1.0 documentation startprojectの生成物 役割 説明文 __init__.py このディレクトリがPythonパッケージであることを知らせるための空ファイル manage.py Django プロジェクトに対する様々な操作を行うため…

Django勉強

今のところPython3には対応してないのかな。 いつ対応されるのかもわからなかった。2年ほど前に少し見たことあるけど、仕事が始まって全然余裕がなかった。とりあえずPython2.6とかで動かしてみるか。あのu''みたいな表現面倒なんだよな。 結局まだ3系は早い…

はじめての Django アプリ作成、その 1 — Django v1.0 documentation

プロジェクト作成 コードを置きたい場所にcdして、django-admin.py startproject mysiteを実行 startprojectの生成物 役割 説明文 __init__.py このディレクトリがPythonパッケージであることを知らせるための空ファイル manage.py Django プロジェクトに対…

doctestとは

モジュールドキュメント中の対話モード記述通りに動作するかの検証 回帰テストの実現 def add(a, b): """ 任意の2つのオブジェクトの合計を返す。 >>> add(1,2) 3 >>> add([1],[2]) [1, 2] >>> add([1],2) Traceback (most recent call last): TypeError: ca…

開発環境について

メジャーなのはこの二つみたいだけど、Eclipseの方は私のPCだと少し重い。動画見ながらだとちと心配。PyScripterはかなり軽いし、言語表示も英語・日本語・中国語なども出来るので良い。下の方にインタプリタが付いてるのでPythonShellも起動させる必要ない…

色々あるフレームワーク

もし使うならどれが良いのかな。 少し調べると Webフレームワークの編集 - Pythonのお勉強 Django GUIライブラリの編集 - Pythonのお勉強 wxPython って選択が普通なのかな。

ガーベージコレクションの過程をデバッグ

gc.set_debugをコールして、リークの起きるオブジェクトをリサイクルさず、gc.garbageリストに保持させる。 gc.collectでガーベージコレクションを強制実行。 それでも残っている物は開放不可オブジェクトとなる。 >>> def dump_garbage(): """ どんなゴミが…

文法表記法

よく文法表記に::=とか変なのが出てきていつも気になってたけど調べた事がなかった。 Pythonでもhttp://www.python.jp/doc/2.5/ref/notation.htmlによるとBNF 文法記法に手を加えたものとなっているので、この機会に勉強しよう。よく見ると正規表現に似てた …

例外のトラップと記録

トラップしたくないエラーがある時の記述例でもある。 >>> import io, traceback >>> def process_all_files(all_filenames,fatal_exceptions=(KeyboardInterrupt, MemoryError)): bad_filenames = {} for one_filename in all_filenames: try: # 宣言されて…

ループや条件式の実行を止める

下記のように飛ばしたい部分にFlase,0などを入れればその処理は飛ばされる。 なんか共通関数を書いて追加しても同じ。 if 0: # i < 1: doSomething() while 0: # j < k: j = fleep(j, k) Pythonでは__debug__変数があって最適化オプションを指定するとブロッ…

ガーベージコレクション

他の gc ルートオブジェクトから辿れるなら残し、辿れないなら開放 python gc 辿れない物を探し開放 pythonはいくつのオブジェクトが自分を見ているか参照カウントを持つ 参照カウントが0になったとき、オブジェクトは開放される 循環参照の場合、開放できな…

sqlite3を使う

python2.5以上はsqlite3がPythonに最初から入っている様子。 なので、sqliteをダウンロードする必要はなかった。 大体の役割 Connection Objects コネクション取得 カーソル取得 コミット ロールバック Cursor Objects 実行と結果の取得(実行方法と結果取得…

pydってなんだろ

sqlite3のモジュールを見てたら_sqlite3はpydにありますと言われたので なんだと思って調べたらPythonのWindows用拡張モジュールらしい。 Unixは.soになっているみたい。