2011年9月28日水曜日

今回もamazon遅いかな?

久しぶりにamazonに発注してしまった。
書籍、現物あり。
2時すぎにはコンビニからの入金が確認できたとさ。

さあ、いつ来ることやら。
ワクワクドキドキ。


これで遅ければ、ジュクドウさん、まだまだチャンスありまっせ。


P.S. 9/30.13時についた。
翌々日ですた。

2011年9月10日土曜日

formでselectを書き換え禁止

class Metaでwidgetsに適切なものを指定して、そのwidgetsが生成するhtml tagの属性をattrsに辞書で渡す。というわけやね。

class Hoge(ModelForm):

    class Meta:
        model = Foo
        widgets = {'choice': forms.Select(attrs={'disabled': True,}),}
True要らないけれど、attrsが辞書なので。

追記:
form = Hoge()

form.fields['choice'].widget.attrs['disabled'] = True
でもOK

2011年9月6日火曜日

permission name取得

auth->groupでもいいけれど

python shell
>>> from django.contrib.auth.models import Permission
>>> for item in Permission.objects.all():
...   print item.name
...
Can add log entry
...

て思っていたけれど。@permission_requiredが引くのはcodenameですた。
×...   print item.name
○ ...   print item.codename

それと、 permission_requiredで引けるのは、1個だけ。
でも複数のがほしいよな。add, change, delete単体でpermission与えるのより、全部与えるほうが多いような気がする。
えっ。作れって、そうさせて頂きます。

と思ったら。似たようなのがここにあった。

ということで、
#-*- coding:utf-8 -*-

from django.contrib.auth.decorators import user_passes_test

def require_all_permissions(perm_list):
    """
    A decorator which checks user has all of the given permissions.
    """
    def test_func(user):
        return user.has_perms(perm_list) 
    return user_passes_test(test_func)
 どうでしょう。

django 初期のパーミッション

忘れないように初期のパーミッション
admin | log entry | Can add log entry
admin | log entry | Can change log entry
admin | log entry | Can delete log entry
auth | group | Can add group
auth | group | Can change group
auth | group | Can delete group
auth | message | Can add message
auth | message | Can change message
auth | message | Can delete message
auth | permission | Can add permission
auth | permission | Can change permission
auth | permission | Can delete permission
auth | user | Can add user
auth | user | Can change user
auth | user | Can delete user
contenttypes | content type | Can add content type
contenttypes | content type | Can change content type
contenttypes | content type | Can delete content type
sessions | session | Can add session
sessions | session | Can change session
sessions | session | Can delete session
sites | site | Can add site
sites | site | Can change site
sites | site | Can delete site

2011年9月5日月曜日

suckerfishでdropdownメニュー

ここから。
肝は、hoverしていないulを明後日の方に配置するということだけ。
hoverしたらulをもとの位置に戻す。
横メニューなら
<html>
    <head>
        <title>horizontal nav</title>
        <meta charset="utf-8">
        <link rel=stylesheet type="text/css" href="horizontalMenu.css">
    </head>
    <body>
        <div id="menu">
            <ul>
                <li><a href="">test11</a></li>
                <li>second
                    <ul>
                        <li><a href="">test21</a></li>
                        <li><a href="">test22</a></li>
                        <li>third
                            <ul>
                                <li><a href="">test31</a></li>
                                <li><a href="">test32</a></li>
                                <li><a href="">test33</a></li>
                            </ul>
                        </li>
                        <li><a href="">test23</a></li>
                    </ul>
                </li>
                <li><a href="">test12</a></li>
                <li><a href="">test13</a></li>
            </ul>
        </div>
    </body>
</html>
 に対して
#menu ul{
    margin: 0px;
    padding: 0px;
    list-style: none;
    float: left;
}

#menu li{
    margin: 0px;
    padding: 0px;
    border: 1px solid;
    display: block;
    color: black;
    background-color: white;
    display: block;
}

#menu li:hover{
    color: white;
    background-color: black;
}

#menu > ul > li{
    float: left;
}

#menu ul > li > ul{
    position: absolute;
    left: -999em;
}

#menu ul > li:hover > ul{
    left: auto;
}

#menu ul > li > ul > li{
    width: 10em;
}

#menu ul > li > ul > li:hover > ul{
    margin-top: -1.1em;
    margin-left: 10em;
}
もしくは
#menu ul{
    margin: 0px;
    padding: 0px;
    list-style: none;
    float: left;
}

#menu li{
    margin: 0px;
    padding: 0px;
    border: 1px solid;
    display: block;
    color: black;
    background-color: white;
    display: block;
}

#menu li:hover{
    color: white;
    background-color: black;
}

#menu > ul > li{
    float: left;
}

#menu ul > li > ul{
    position: absolute;
    display: none;
}

#menu ul > li:hover > ul{
    display: block;
}

#menu ul > li > ul > li{
    width: 10em;
}

#menu ul > li > ul > li:hover > ul{
    margin-top: -1.1em;
    margin-left: 10em;
}
 垂直メニューなら

 #menu ul{
    margin: 0px;
    padding: 0px;
    width: 10em;
    list-style: none;
    float: left;
}

#menu li{
    margin: 0px;
    padding: 0px;
    width: 10em;
    border: 1px solid;
    position: relative;
    float: left;
    color: black;
    background-color: white;
    display: block;
}

#menu li:hover{
    color: white;
    background-color: black;
}

#menu li > ul{
    margin-top: -1.3em;
    margin-left: 10em;
    position: absolute;
    left: -999em;
}

#menu li:hover > ul{
    left: auto;
}
もしくは
#menu ul{
    margin: 0px;
    padding: 0px;
    width: 10em;
    list-style: none;
    float: left;
}

#menu li{
    margin: 0px;
    padding: 0px;
    width: 10em;
    border: 1px solid;
    position: relative;
    float: left;
    color: black;
    background-color: white;
    display: block;
}

#menu li:hover{
    color: white;
    background-color: black;
}

#menu li > ul{
    margin-top: -1.3em;
    margin-left: 10em;
    position: absolute;
    display: none;
}

#menu li:hover > ul{
    display: block;
}

2011年9月3日土曜日

vtk 5.8.0

出ています。
gitでcloneできるようになった。ここ

branchはtagで
最新releaseは、
git checkout v5.8.0
で。

ところで、CDashのアイコンってgoogle chromeのアイコンに似ていない?
どうでもいいけどね。