牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Python

Django で gunicorn の起動と停止のメモ

(Django1.5, python2.7) Gunicorn で Django を使う方法 — Django 1.4 documentation Gunicorn - Python WSGI HTTP Server for UNIX nginx 設定してる前提で インストール sudo pip install gunicorn 起動 manage.py ファイルがあるのと同じディレクトリで g…

Django のテンプレートで、タイトルをページ毎に変更したい場合のメモ

(Django1.5, python2.7) 親テンプレート base.html 例:サイト名「sample-site」をタイトルにいれる <title>{% block title %}sample-site{% endblock title %}</title> 子テンプレート child.html {% extends "base.html" %} {% block title %}child page | {{ block.super…

Django でフィクスチャのメモ

(python2.7, django1.5) モデルに初期データを投入する — Django 1.4 documentation settings.py 追加 FIXTURE_DIRS = ( os.path.join(ROOT, 'fixtures'), ) フィクスチャ作る fixtures/hoge.json ./manage.py shell とかでデータをいくつか作ってから、ダン…

Django でユーザごとに一覧表示させるのに汎用ビュー使う場合と使わない場合のメモ

(python2.7, django1.5) models.py from django.db import models from django.contrib.auth.models import User class Say(models.Model): message = models.CharField(max_length=255) date_created = models.DateTimeField(auto_now_add=True) user = mod…

Django のページネイトを使い回しできそうな感じにしてみるメモ

(python2.7, django1.5)pipにあるパッケージとか使わずに何とかしてみたい。 http://docs.djangoproject.jp/ja/latest/topics/pagination.html View paginate.py 新規作成する。 とりあえず settings.py とかあるディレクトリに置く apps/paginate.py #!/usr…

Python で翌月1日のdatetimeを取りたい場合のメモ

(python2.7)dateutil をインストールして使うのがベターらしい インストール python2.x系を使う場合は python-dateutil 1.x系をインストール python-dateutil - Labix pip install "python-dateutil==1.5" 試してみる 翌月1日 >>> import datetime >>> today…

Django の QuerySet で sum で合計したい場合のメモ

追記:月末 (python2.7, django1.4) from django.db.models import Sum total_num = ModelName.objects.aggregate(Sum('somenum'))['somenum__sum'] python - Django SUM Query? - Stack Overflow python - django sum for a queryset - Stack Overflow

『Python Developers Festa 2013.07』に参加してきました

プログラム pyfes/201307.rst at develop · pyspa/pyfes · GitHub togetterまとめ Python Developers Festa 2013.07 #PyFes - 開始まで - Togetterまとめ Python Developers Festa 2013.07 #PyFes - ハンズオン - Togetterまとめ Python Developers Festa 20…

Emacs の jinja2-mode で Django のテンプレートを書くための設定メモ

※追記20130728: インデントの問題、複数行コメントの問題(Emacs24.3)web-mode でやろうとしたら タブ に色付けできなかったり、設定変えるの面倒そうだったので jinja2-mode を使ってみる事にした インストール M-x list-packages で jinja2-mode をインスト…

Django の html を Emacs の web-mode で書くためのメモ

(Emacs24.3, Django1.4, Python2.7) packages インストール web-mode.el - html template editing for emacs M-x list-packages でインストール web-mode yasnippet yasnippet yasnippet の snippets に web-mode ディレクトリを作ってファイル作成 html-mod…

Django で管理者を作成する時にうっかり間違えて変更したい場合のメモ

(Django1.4, Python2.7) $ ./manage.py shell > from django.contrib.auth.models import User > admin = User.objects.all()[0] > admin.username = 'foobar' > admin.save() Django: Access Admin User in Python Shell - Stack Overflow

Python の enumerate で 0 以外から始める場合のメモhajimerubaainomemo

python2.6から引数startを使えるようになってた。 for i, num in enumerate(["a", "b", "c"], start=1): print i, num #-> 1 a #-> 2 b #-> 3 c 2. 組み込み関数 — Python 2.7ja1 documentation

Python でリストから重複を取り除きつつ順番を確保したい場合のメモ

(Python.2.7)1から5までの数字のリストで、1が重複しているケース In [63]: seq = [1,5,3,2,4,1] In [64]: set(seq) Out[64]: set([1, 2, 3, 4, 5]) In [65]: sorted(set(seq), key=seq.index) Out[65]: [1, 5, 3, 2, 4]参考サイト リストから重複要素を削…

Django の runserver 立ち上げたら "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" とかなる場合のメモ

(Python2.7, Django1.4) 問題 MySQL を 5.1 から5.5 にしたら、ローカルで runserver が起動しなくなった $ ./manage.py runserver : (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)") 解決 settings.py 127.0.0.1 in s…

Zsh(oh-my-zsh) で プロンプトに virtualenv の表示がされない場合のメモ

(MacOSX10.8, python2.7, zsh5.0.2) robbyrussell/oh-my-zsh · GitHub virtualenv — virtualenv 1.11.6 documentation 問題 workon hoge とかやると bashのときはプロンプトに $ (env_name) user$host みたいなのが出てたのが zsh (oh-my-zsh) に乗り換えた…

django-debug-toolbar 設定メモ

(Djnago1.4, Python2.7) django-debug-toolbar] https://pypi.python.org/pypi/django-debug-toolbar settings.py MIDDLEWARE_CLASSES = ( # ... 'debug_toolbar.middleware.DebugToolbarMiddleware', # ... ) INTERNAL_IPS = ('127.0.0.1',) INSTALLED_APPS…

Django の manage.py shell で sql のクエリを見るメモ

HogeModel.objects.all().query.get_compiler('default').as_sql()

Ubuntu に pip install で MySQL-python 入れようとしたらエラーになった場合のメモ

(ubuntu12.04.2, python2.7) 問題 $ sudo pip install : error: command 'gcc' failed with exit status 1 : 解決 $ sudo aptitude install python-dev How can I install MySQL-python via pip/virtualenv for Python 2.5 on a Linux system with Python 2.…

IPython インストールするメモ

(MacOSX10.8, Python2.7)iPython の存在を忘れてたので MacPorts でインストール http://ipython.org/ $ sudo port install py27-ipython $ sudo port select --set ipython ipython27 $ ipython Python 2.7.5 (default, May 19 2013, 13:26:46) Type "copyr…

django-extensions を使ってみるメモ

(Python2.6, Django1.4) django-extensions shell 起動時に自動でモデルとか入れてくれる。ほかいろいろ便利っぽい。 django-extensions/django-extensions · GitHub Getting It $ pip install django-extensions apps/settings.py ここ公式に書いてないっぽ…

Djnago のページネーションのメモ

(Python2.7, Djnago1.4)Djnagoチュートリアルその4で出来上がったアプリに追加する形で。 http://docs.djangoproject.jp/ja/latest/topics/pagination.html templates/polls/list.html {% for poll in polls %} {# Each "poll" is a poll model object. #} …

Djnago で Rails の before_save 的なことをやる場合のメモ

(Python2.7, Djnago1.4)Djnagoチュートリアルその4で出来上がったアプリに追加する形で。 シグナル http://docs.djangoproject.jp/en/latest/topics/signals.html django.db.models.signals.pre_save および django.db.models.signals.post_save モデルの s…

Django で ささっと MySQL 使う場合のメモ

※ 追記:DEFAULT CHARACTER SET utf8; ※ 修正:pasword変更、 port selectの記述を追加[Pytho2.7, Django1.4, MacOSX10.8 (Python, pip, MySQL は MacPorts でインストール済)]ささっと実験的なDjangoのプロジェクトを作ろうとしたら、想定外に問題発生した…

Python の virtualenv で作った仮想環境名を変更したくなった場合のメモ

(python2.7, MacOS10.8) $ mkvirtualenv oldenv $ cpvirtualenv oldenv newenv $ rmvirtualenv oldenv MacPorts でインストールした場合のメモ .bashrc ## virtualenv setting if [ -f /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/vir…

emacs-jedi で Emacs の Python のオムニ補完をする場合のメモ

(Emacs24.2, Python2.7) tkf/emacs-jedi · GitHub Install package.el でインストールしておくもの M-x list-packages auto-complete deferred epc jedi pip とかでインストールしておくもの jedi epc init.el (add-hook 'python-mode-hook '(lambda () (jed…

Pythonでリスト内包表記を使った処理をRubyで書くとしたらメモ

(Python2.7, Ruby1.9) Python print [name.upper() for name in ["foo", "bar"]] # >> ['FOO', 'BAR'] これをmapで print map(lambda x: x.upper(), ["foo", "bar"]) # >> ['FOO', 'BAR'] python久々すぎて、にメソッド名の後に括弧いれるの忘れて戸惑ってし…

Ruby で Python の sum 的なやつ忘れるのでメモ

(MacOSX10.8, Ruby1.9.3, Python2.7.3) Python print sum([1,2,3,4,5]) #=>15 Ruby puts [1,2,3,4,5].inject(:+) #=>15

『プログラミングClojure』2.3関数の無記名関数を Python と Ruby でもやってみたメモ

Clojure 1.4 (defn make-greeter [greeting-prefix] (fn [username] (str greeting-prefix ", " username))) (def hello-greeting (make-greeter "Hello")) (hello-greeting "world") ;;-> "Hello, world" ((make-greeter "Howdy") "pardner") ;;-> "Howdy, …

Ruby, Clojure, Python の空リストのブール値の違いメモ

(MacOSX10.8, Ruby1.9.3, Clojure1.4, Python2.7) Ruby true irb(main):010:0> [] ? "t" : "n" "t" Clojure true user> (if () "t" "n" ) "t" Python False >>> "t" if [] else "n" 'n'

簡単なカウンタをRubyとPythonで書いてみたメモ

Ruby (Ruby1.9.3) その1 class Counter def up @count ||= 0 @count += 1 end end count = Counter.new 5.times do p count.up end #=> 1 #=> 2 #=> 3 #=> 4 #=> 5 もっと簡単に書けそうな気がする その2(追記) Google先生に聞いたら、自分のブログに書…