{"url":"https://y0m0r.hateblo.jp/entry/20120310/1331389428","provider_name":"Hatena Blog","title":" kay framework\u3092\u89e6\u3063\u3066\u307f\u308b 2","height":"190","author_name":"yuheiomori0718","width":"100%","blog_title":"\u30e1\u30e2\u7f6e\u304d\u5834","version":"1.0","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fy0m0r.hateblo.jp%2Fentry%2F20120310%2F1331389428\" title=\" kay framework\u3092\u89e6\u3063\u3066\u307f\u308b 2 - \u30e1\u30e2\u7f6e\u304d\u5834\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","published":"2012-03-10 23:23:48","blog_url":"https://y0m0r.hateblo.jp/","author_url":"https://blog.hatena.ne.jp/yuheiomori0718/","categories":["python"],"description":"\u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u3092\u4f7f\u3063\u3066\u307f\u307e\u3059 \u8a2d\u5b9a \u8a8d\u8a3c\u7528\u306e\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u5177\u4f53\u7684\u306b\u306fsettings.py\u306b\u4ee5\u4e0b\u306e\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059 MIDDDLEWARE_CLASSES = ( 'kay.auth.middleware.AuthenticationMiddleware', ) \u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u683c\u7d0d\u3059\u308b\u30e2\u30c7\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059myapp.models from google.appengine.ext import db from kay.auth.models import GoogleUser class MyUser(GoogleUser): pass settings.py AUTH_USER_MO\u2026","image_url":null,"provider_url":"https://hatena.blog","type":"rich"}