Python

Djangoのアクションを追加してmanage.pyから実行する

現在仕事でDjangoを使ってWebアプリを書いていて、バッチ処理を今まで以下のように書いていたのですが、アクションを自作するのも簡単で便利だったのでメモ。 今まで使っていたバッチ処理のスクリプト #!/usr/bin/env python # coding: utf-8 import os impo…

Djangoテンプレートのカスタムフィルタ

最近Djangoのテンプレート周りをさわっていてカスタムフィルタが簡単で便利だと思ったのでメモ。 (Djangoのバージョンは1.4です)以下は一例ですが、Djangoのテンプレートではis演算子が使えないっぽくて今までモデルでNullBooleanFieldを使っている部分を以…

DjangoのFormに動的な初期値を入れる

DjangoのFormを表示する時の初期値の設定。 forms.py # coding: utf-8 from django import forms from app.models import Order class OrderForm(forms.ModelForm): name = forms.CharField( max_length = 200, initial = u'鈴木太郎', # 初期値 ) class Met…

Pythonのコードをバイトコンパイル

先日知り合いと話していて、サーバに生のソースを置きたくないという話を聞いたのでDjangoで簡単に試してみた。 もともとimportでコンパイルされたファイルだけでも実行できる事は知っていましたが、複数のファイルをコンパイルして試したことがなかったので…

Djangoの本番環境と開発環境の切替

仕事でDjangoを使ったWebアプリを開発しているのですが、先日やっと仮運用を開始したので合わせて本番環境と開発環境のsettings.pyを切り替える方法を調べたのでメモしておきます。 Django1.4を利用しているのでsettings.pyのpathは$project/$project/settin…

Pythonでスクレイピング

佐川急便とヤマト運輸の配送状況の最新ステータスが欲しくてスクレイピングするスクリプトをPythonで書いてみました。 HTMLパーサにはBeautifulSoupを使ってます。 #!/usr/bin/env python # coding: utf-8 import re import urllib import urllib2 from Beau…

さくらのレンタルサーバでFlask

さくらのレンタルサーバでFlaskを動作させるメモ。 Flask virtualenvを使っていない場合はシェバングを通常通り#!/usr/bin/env pythonにする。 ~/www/index.cgi #!/home/xxx/.virtualenvs/default/bin/python # coding: utf-8 import sys sys.path.append('/…

flaskを使ってみる

今更だけどflaskとfacebook api使ってみた。 rackhubでHello {{name}}を表示するまで。 Facebookアプリ登録 以下からアプリケーションを登録する。 Facebookアプリケーション登録後、ドメインとサイトURLを変更。 今回はrackhubでやっているのでこんな感じで…

MySQLバックアップスクリプト(さくらのレンタルサーバ)

さくらのレンタルサーバでMySQLのバックアップファイルを他のサーバに転送したくて、バックアップスクリプトを書きなおしたので公開してみます。使い方は~/backup/mysqlディレクトリを作ってHOSTにDBサーバ名、PASSWDにDB接続に利用するパスワードを入れて実…

MySQLdbの使い方メモ

#!/usr/bin/env python # coding: utf-8 # import module import MySQLdb # Get MySQL connection conn = MySQLdb.connect( host = 'localhost', port = 3306, db = 'database', user = 'user', passwd = 'password', ) # Get cursor of DictCursor # defaul…

Djangoのモデルにフィールドを追加する

Djangoのモデルにフィールドを追加するメモ。Djangoではmodels.pyを変更してもテーブルの定義は自動的に変更されないので手動で変更する必要があります。 特にデータがはいっていない又はデータが削除されて問題無い場合はmanage.pyで変更(再作成)することが…

Apacheログローテートスクリプト

Apacheのログローテートスクリプト書いてみた。 #!/usr/bin/env python # coding: utf-8 import os import re import glob import datetime import shutil from subprocess import call class logApache(object): def __init__(self, dirs=[], rlog='*_log',…

rackhubでDjango環境構築

Nginx+gunicorn+MySQL環境でDjangoを動かすメモ。 rackhubは久々に触ったけど結構変わってる。 以前は/rhbにインストールされていたがstowで管理されるようになったみたい。 pipもインストールされてるし、pythonbrewも入ってるのでより開発環境が整備された…

WindowsにPython2.7インストール

WindowsXPにPython2.7をインストールするときに少し悩んだのでメモ。Python本体はここから。 404 Not Foundインストール後はLinux同様環境設定。 PYTHON_PATH=C:\Python27\Lib\site-packages PYTHON_HOME=C:\Python27 Path=...;C:\Python27;C:\Python27\Scri…

Django1.4環境構築

そろそろDjango1.4を使ってみる。 ディレクトリ構成等が変更されていたので少し変えてみた。 Apacheインストール Apache2.2.22インストール - i2bsの日記 mod_wsgiインストール cd /usr/local/src wget -c http://modwsgi.googlecode.com/files/mod_wsgi-3.3…

Python3.2.2インストール

UbuntuにPython3.2.2インストールした。 Python3ダウンロード cd /usr/local/src wget -c http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz Python3インストール tar zxvf Python-3.2.2.tgz cd Python-3.2.2 ./configure --prefix=/usr/local/python3.2…

PyCheckerを使ってみる

PyCheckerインストール cd /usr/local/src wget -c -O pychecker-0.8.19.tar.gz http://sourceforge.net/projects/pychecker/files/latest/download?source=files tar zxvf pychecker-0.8.19.tar.gz cd pychecker-0.8.19 python setup.py install PyChecker…

pdbの使い方

pdbの使い方。 pdbはPythonに標準で付属しているデバッガ。 デバッガの起動 デバッガからプログラムを起動 >>> import pdb >>> import sample >>> pdb.run('sample.main()') > <string>(1)<module>() (Pdb) pdb.pyをスクリプトとして呼び出す。 root@johan:~/work# python -m</module></string>…

Pythonの簡単なスクリプトのフォーマット

Pythonで簡単なスクリプトを書くときに使えそうなフォーマットを書いたのでメモしておく。 #!/usr/bin/env python # coding: utf-8 ''' This script is sample format script. ''' import os import sys import logging from optparse import OptionParser #…

Pythonでメール受信

Pythonでメール受信して表示するスクリプト(text/plainのみ)。 #!/usr/bin/env python # coding: utf-8 import poplib import email def get_subject(msg): h = email.Header.decode_header(msg.get('subject')) return unicode(email.header.make_header(h)…

Django MongoDB Engineインストール

Django MongoDB Engineを使ってDjangoのDBにMongoDBを使う。 git,mercurialインストール gitとmercurialが入ってない場合はインストール。 pipは既にインストールされている前提。 apt-get install git pip install mercurial pymongo,django-nonrel,djangot…

Djangoの環境構築

Django,Apache,mod_wsgi,MySQLの環境を構築する。 簡単にHello Worldを出力するまで。 Apacheインストール Apache2.2.22インストール - i2bsの日記 mod_wsgiインストール Tracインストールにも書いたけど一応。 cd /usr/local/src wget -c http://modwsgi.go…

pipメモ

pipの使い方のメモ PyPiから検索 pip search pymongopymongo - Python driver for MongoDB <http://www.mongodb.org> INSTALLED: 2.1.1 (latest) mogo - Simple PyMongo "schema-less" object wrapper Flask-PyMongo - PyMongo support for Flask applications pymongo3 - Python dri</http://www.mongodb.org>…

pymongoの使い方

pymongoの使い方メモ。 使ったのはPyMongo 2.1.1。 インストール pip install pymongo Connectionとdb,collectionの取得 >>> import pymongo >>> conn = pymongo.Connection('localhost', 27017) >>> conn Connection('localhost', 27017) >>> db = conn.myd…

gunicornインストール

gunicornをインストールしてみた。 フロントにはNginxを使っている。 Nginxインストール - i2bsの日記 gunicornインストール apt-get install python-dev wget -c http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py easy_install pip pip …