2012年8月23日木曜日

jqueryとjquery uiを使ったマウスオーバーによるポップアップ

水色のボックスにマウスをのせるとポップアップが出ます。
ツールチップ的な使い方もできます。
jquery uiのpositionを使って、ポップアップの位置をマウスのポジションからの相対的に決めています。


2012年8月12日日曜日

djangoでsyncdbで管理者ユーザーを設定する

fixtureという機能で設定します。
ココを参考にして、initial_data.json(settings.pyのFIXTURE_DIRSに設定したディレクトリ内)を作成して

 [
   {   
        "pk":1,
        "model": "auth.user",
        "fields": {
            "username": "admin",
            "password": "pbkdf2_sha256$10000$Z9TQtBh3bSmV$gq99AxSMLIHyIjDCSsVRjX8doLYgJxl1p1z7QZMWBr4=",
            "is_staff": true,
            "is_superuser": true
        }
    }
]

を設定する。ちなみにこのパスワードはmanage.py shell(自分はDJANGO_SETTINGS_MODULE=settings ipythonでやる)で次をやって生成する。
>>> from django.contrib.auth.models import User
>>> u = User()
>>> u.set_password('admin') #adminというパスワードを作成
>>> u.password
'pbkdf2_sha256$10000$Z9TQtBh3bSmV$gq99AxSMLIHyIjDCSsVRjX8doLYgJxl1p1z7QZMWBr4='

これでmanage.py syncdbすると自動的にユーザーadminが設定される。

Twitter Bootstrap - tabの中のdropdown menuの表示問題

bootstrap v2.0.4での問題

bootstrapのtabの中にdropdownを置くとはみ出す部分が切り取られてしまう。Stack overflow 再生ボタンをおして、Actionsボタンを押してみてほしい。(+ボタンを押すとソースを見れるページに飛びます)

とりあえずの解決方法

bootstrap.jsの中身を見ていると.tab-contentにはoverflow:auto;が設定されている。 .tab-contentにoverflow:visible;を上書き設定すると直った。

何か他のところで問題がでるかもしれない。 とりあえず、Chrome、Firefox、Safariでちゃんと動いている。

2012年8月1日水曜日

Django - settings.py url.pyでreverseを使う

自分用メモ
url.pyなどで、reverseを使うとurl.pyが実行される時点では、urlの設定はされていないため、うまく動かない。
そこで、django.utils.functionalのlazyを使って、reverseを遅延評価させる。
http://stackoverflow.com/questions/1794655/reverse-django-generic-view-post-save-redirect-error-included-urlconf-doesnt

lazyの解説はここがわかりやすい。

追記
Django1.4からreverse_lazyというメソッドが追加されているのでそれを使えば良い
https://docs.djangoproject.com/en/dev/releases/1.4/#reverse-lazy

例えば、

from django.core.urlresolvers import reverse_lazy

LOGIN_URL = reverse_lazy('accounts-login')