Hatena::ブログ(Diary)

独りの超電波プログラマ このページをアンテナに追加 RSSフィード

2013-04-10

[] djangoで独自の認証つきadminページの追加

調べても、ほとんどModelからAdminページを作る話ばかりで、完全にカスタマイズされたページで、認証だけ流用したい、という用途においては全然参考になるコードがなかったので、一応記録しておく。

http://docs.djangoproject.jp/en/latest/ref/contrib/admin/index.html

のAdding views to admin sites辺りにチラっと書いてあるんだけど、これだけじゃただurl追加しただけだった。

https://github.com/django/django/blob/master/django/contrib/admin/sites.py

のget_urlsの実装を見ればわかるけど、実際のページの処理をする関数に対して認証ページのwrapperをかけてる。

wrapする関数自体は直接触れないので、しょうがないからコピペしてみた。

class MyAdmin(admin.AdminSite):

    def get_urls(self):
        def wrap(view, cacheable=False):
            def wrapper(*args, **kwargs):
                return self.admin_view(view, cacheable)(*args, **kwargs)
            return update_wrapper(wrapper, view)

        patterns = super(MyAdmin, self).get_urls()
        patterns += urls.patterns(
            '',
            urls.url(r'^edit/$', wrap(self.editPage), name='edit'),
            )
        return patterns

urlpatternの登録は以下のとおり。


adminSite = MyAdmin()
urlpatterns = urls.patterns(
    '',
    urls.url(r'^admin/', urls.include(adminSite.urls)),
    )

これで、/admin/edit/などのページを開くと、ユーザ名を聞くようになる。

テンプレート側は、

{% extends "admin/base_site.html" %}

{% load i18n admin_static %}

{% block content %}
...
{% endblock content %}

こんな感じで見慣れたadminページのヘッダが表示される。

2012-11-29

[] San MateoのDMVで実技試験受けてきた

11:15にドライビングスクールのおっさんに拾ってもらって、しばらく練習して、13:00くらいに書類提出。車を実技試験の待機エリアに停車して、しばらく待って、ようやくお姉さんが出てきてテスト開始。

出発前に手信号やライトの確認などから。3つ間違えるとそこで終了。エンジンをつけるのに手間取って死ぬほどあせったけど、流してくれたっぽい。

運転に関しては、公式ビデオが結構わかりやすいので、必ず目を通したほうがいいと思う。

https://www.youtube.com/playlist?list=PL297E87DA9A1025B2

あと、色々日本語のブログを見たけど、スコアの基準が何も書いてなかったから、せっかくだから、ここに書いてみる。本当に正しいかはわからないけど、スコアシートにはそう書いてあるから、多分正しいと思う。

一発終了の項目は上のリンク先のビデオに大体載ってるので、そちらを見てもらうとして、それ以外は1ミスあたり減点1?で、合計15個ミスするとアウト

以下が減点項目。

  • Intersection (8個)
    • Through
      • Traffic check
      • Speed
      • Yield
      • Unnecessary stop
    • Stop
      • Traffic check
      • Deceleration/Braking
      • Full stop
      • Gap or Limit line
    • Start
      • Traffic check
      • Yield
      • Speed
  • Business/Urban And Residential Rural(2個 B/R)
    • Traffic check
    • Speed
    • Spacing
    • Lane Position
  • Lane Change(2個 L/R)
    • Traffic Check
    • Signal
    • Speed
    • Spacing
    • Steering control
  • Turns(LeftとRight各4個)
    • Approach
      • Traffic check
      • Signal
      • Deceleration/Braking
      • Yield
      • Lane use
      • Unnecessary stop
    • Stop
      • Traffic check
      • Full stop
      • Gap or Limit line
      • Wheels straight
    • Turn/Complete
      • Traffic check
      • Yield
      • Steering control
      • Too wide/short
      • Correct lane
      • Speed
      • Signal

普通にこの項目をひと通り意識してやれば15個間違えられるので、1発アウトに比べると比較的ゆるい。

ただ、どれかの項目をどの場面でも失敗すると、あっという間に15になるかも。例えば、遅すぎるのは減点になる*1ので、それを知らないと、Intersectionで-8、Business/Residentialで-2、Lane Changeで-2、Turnsで-8になって-20になってしまうこともありうるかもしんない。

「試験官は君に免許をとってもらいたいと思ってるんだから、気を楽にして行くといいよ」と言っていたけど、普通にひっかけ問題*2を出してきて、このクソババァ!と思った。幸いあらかじめ教わっていたから問題なかったけど。

結果は、減点7で無事通過。減点されたのは、十字路での安全確認不足で3点、車線変更で3点、バックをまっすぐにできなくて1点。

後はまた最初の書類提出と同じ窓口にまで戻って、免許をもらう手続き。また紙の仮免をもらって、本物は後日郵送。大体全部終わったのが1:45くらいだった。

今回車の練習をお願いしたのは

http://www.yelp.com/biz/guerrero-driving-school-san-francisco

のおっさん。料金が若干安めだけど、しっかりやってくれたし、アメリカにしては珍しく、時間通りちゃんと来る。よく喋るおっさんだから、英語でしゃべるのがしんどい人にはおすすめしない。

[] Zipcar

しばらく前に無事故無違反証明を提出して、無事zipcarのカードを手に入れて、保険も入れた。この前Ikeaで買い物するために、Zipcarを初めて使ったので、感想とか色々書いておく。

  • 一番安いのに、前日でまだ予約が空いてる!と思ったらEVだった。50マイルくらいは走れるので、近くを走るだけならいいけど、遠出する時は、ちゃんと充電できる場所を把握しないとヤバいかも
  • 8時間以内の利用の予約は、3時間前までキャンセル可能。それ以上利用する場合は、24時間前にキャンセル可能。
  • Damage Waiverは別料金。完全Waiverは月$9で、年間で$79だったから、年間のやつを払った。
  • 時間通り返せないと$50の罰金。どのくらい厳密なのか怪しい。
  • Androidアプリバグ大杉。何かボタンを押すと25%くらいの確率で強制終了する
  • 比較的安い車($8-9/h)がインターコンチネンタルにあったので、そこで借りた。Valetパーキングで、係の人に車種を言ったら出してくれた
  • 鍵は車の中の鍵穴のそばにチェーンでつながれてる
  • 車のフロントウィンドウの右上辺りに非接触型の機械があって、Zipcarのカードを触れるとアンロック・ロックできる
  • 今日は18時に返す予約をしたけど、店を出て、明らかに間に合いそうになかったから、30分だけアプリから延長した。料金が30分のぶんだけ追加された。

結局4.5時間の利用で$42だったので、Hertzのレンタル$50+、ガソリン$10、Valet代$10の$70+よりは大分安く上がるんだけど、朝11時から出て、夕飯もどこか遠くで食べよう、ってことになるなら、Hertzのほうが安上がりだなぁ。

Costcoだったら車$25+保険料でもっと安いんだろうけど、当日の夜に返せないから、翌日早朝に起きて返却しなくちゃいけないのが面倒くさいんだよなぁ...

*1:法定速度-10mph?

*2:2車線で、右車線に変更するように言われて、右車線は右折のみなんだけど、曲がれとは言われない。右折のみだから曲がるのが正解。

2012-11-18

[] 自動車学校

初めての自動車学校。学校といってもおっさん1人なんだけどな。

2時間で$120で、これでも安い方。レンタカーとかと比べると馬鹿高い気がするけど、普通はそもそもレンタカー借りれないし、運転経験がない奴に運転させるのは怖すぎるからこのくらいの値段になるのはしょうがないのかもしれない。

これは受けずにテスト受けたら即落ちていたな、という感じで、金がかかるけど、無駄なストレスと時間を使うよりはいいだろう、と自分を納得させている。

来週の日曜日に再度練習しに行ってくる。

[] Amazon返品

コートハンガーが即壊れたから返品するためにUSPSにピックアップのお願いしたら、ピックアップしに来てないのに、「依頼通りピックアップしました」というメールだけが届いた。何を持っていったんだ?

もうUSPSは信用しない!と決めてUPSまで頑張ってごろごろと運んで行ったら、$50くらいのコートハンガーを返送するのに、郵送代が$23と言われて、もう面倒臭いからコートハンガーをこの場で捨てたいという気持ちに駆られた。

[] 荷物が届いた

船便で送った荷物が昨日届いた。大体6週間くらいかかった。

引越し業者は午後2時から4時に着く、と言われ、2時半になって3時半に着くと言われ、想像通り4時半に到着した。

合計23箱で、家の中が空になったなぁ、と思ったけど、こっちに全部入れても家がまだ広々としているので、本当にアメリカの家は広いな、と思う。