VimでPython書いてる人しかうれしくないですけど、
pyflakes.vimというvimの拡張があります。
http://www.vim.org/scripts/script.php?script_id=2441
インストール方法、解凍したファイルの中身のftpluginの中身を
~/.vim/ftplugin 的なところに突っこむだけです。
(Windowsの人とかはしりません)
そしたら.pyなファイルを開くと、importしてるのに使ってないとか
変数に代入したのに使ってないとか、文法間違ってるwwwとか
完全に情弱とか教えてくれます。
ちなみに、Python2.5以上が使える環境で、
VimがPythonサポート付きでコンパイルされてないと多分だめです。
あとftpluginをしばらくftppluginだと思っていて、
ftp関係ねーじゃんと勘違いしてましたね。
まあ、どうでもいいけど。
2012年2月22日水曜日
2012年2月19日日曜日
DjangoのモデルをJSONエンコードしたいときにリレーション先を…
DjangoのモデルをJSONエンコードしたいときはこうすればいいんですが、
リレーションとかしちゃってると、そのモデルのpkなんかが出ちゃって困ることが多いです。
ちなみにお前の情報信じられないって人は、
ここ読めば書いてあるので、この先全部飛ばしても大丈夫です。
方法としては、リレーション先のモデルに、
とか書くとpkのかわりにnameなんかを返してくれたりしますよ。
飛ばさずに読んで頂いてありがとうございます。
まあ、その程度です。
リレーションとかしちゃってると、そのモデルのpkなんかが出ちゃって困ることが多いです。
ちなみにお前の情報信じられないって人は、
ここ読めば書いてあるので、この先全部飛ばしても大丈夫です。
方法としては、リレーション先のモデルに、
def natural_key(self): return self.name
とか書くとpkのかわりにnameなんかを返してくれたりしますよ。
飛ばさずに読んで頂いてありがとうございます。
まあ、その程度です。
DjangoのモデルをJSONエンコードしたいとき
すっかり忘れてて3分程悩んだので。
とかすると、is not JSON serializable 的な感じで怒られるので、
こんな感じにするといいかも。
まあ、いまさらかも。
import json json.dumps(ModelClass.objects.all())
とかすると、is not JSON serializable 的な感じで怒られるので、
from django.core import serializers json_serializer = serializers.get_serializer('json')() json_serializer.serialize(ModelClass.objects.all(), ensure_ascii=False)
こんな感じにするといいかも。
まあ、いまさらかも。
2012年2月17日金曜日
FlaskのBlueprintsで静的なファイルの設定
Flaskで静的なファイルを扱うときは、
プロジェクトルートにstaticディレクトリを作って置くのが通常ですが、
Blueprintsを使ってモジュール化したいときには、
モジュール内にstaticを置きたくなったりします。
ドキュメントでは、これでいけそうですが、
実際には、static_url_pathも指定しないとだめっぽいです。
https://github.com/mitsuhiko/flask/issues/348
この辺でも言われてました。
まあ、そんなもんです。
プロジェクトルートにstaticディレクトリを作って置くのが通常ですが、
Blueprintsを使ってモジュール化したいときには、
モジュール内にstaticを置きたくなったりします。
ドキュメントでは、これでいけそうですが、
Blueprint('admin', __name__, template_folder='templates', static_folder='static')
実際には、static_url_pathも指定しないとだめっぽいです。
Blueprint('admin', __name__, template_folder='templates', static_folder='static', static_url_path='/static/admin') # 2012/02/27修正
https://github.com/mitsuhiko/flask/issues/348
この辺でも言われてました。
まあ、そんなもんです。
2012年2月16日木曜日
CentOS6でscpコマンド
最小限でインストールすると多分入ってないので、
ちなみに、ローカルからscpでコピーしようとしたときに、
サーバ側にも入ってないといけないということを知ったのでした。
http://www.openssh.org/ja/faq.html#3.7
お前なぞ信じられないという人向けに貼っておきますね。
まあ、そういうこと。
sudo yum install openssh-clients
ちなみに、ローカルからscpでコピーしようとしたときに、
サーバ側にも入ってないといけないということを知ったのでした。
http://www.openssh.org/ja/faq.html#3.7
お前なぞ信じられないという人向けに貼っておきますね。
まあ、そういうこと。
Flaskでセッションを永続化する
Flaskでセッション永続化するには、
session.permanent = True
を設定しないとブラウザを閉じるまでになっちゃう。
まあこれだけ。
from flask import app, session # セッションを維持する時間(秒) # 秒をintegerで渡せるのは0.8以降 PERMANENT_SESSION_LIFETIME = 600 @app.route('/') def login(): session.permanent = True # ログイン処理とかする # なんかリダイレクトとかする
session.permanent = True
を設定しないとブラウザを閉じるまでになっちゃう。
まあこれだけ。
requestsでpostのbodyに文字列を突っこむ
よくある感じだと、辞書を渡す。
POSTのbodyに直接データを突っこみたいときは、
ただそれだけ。
import requests url = 'http://localhost:8000' requests.post(url, data={'spam': 1, 'egg': 2})
POSTのbodyに直接データを突っこみたいときは、
requests.post(url, data='spamegg')
ただそれだけ。
2012年2月4日土曜日
登録:
投稿 (Atom)