【Python】Webフレームワーク Djangoスレ Part2at PHP
【Python】Webフレームワーク Djangoスレ Part2 - 暇つぶし2ch300:nobodyさん
14/02/27 20:09:28.52
>>299 続き
そうなる。

301:nobodyさん
14/03/01 00:04:24.54
>>292
getはクラスベース汎用ビューにあるgetのオーバーライドです
ネットの参考サイトがそのような書き方をしていましたので
requestからURLパラメータ欲しいから・・・と思いましたがView.requestでどこからでも取得出来るんですね
となるとコンテキストに追加するのはget_context_dataがいいのかな
あとテーブル操作はカスタムManager、レコード操作はModelと意識してます
>>294
フォームで言う、form.messageみたいなのを作るって事でしょうか?

ネットでもいろんなやり方があって、もう設計に拘らず適当でもいい気がしてきました・・・w
しかし関数ベースとクラスベースの情報があってぐぐり難いですね

302:nobodyさん
14/03/01 02:11:13.60
>>301
>>294だが違う。
モデルで吸収するってこと。

303:nobodyさん
14/03/02 09:36:50.36
>>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
スレリンク(tech板:85番)

304:nobodyさん
14/04/08 07:57:45.66 Gp3QMMMl
request.session['hoge'] = 0
sqlite使用で上のコードを書いただけで 200msくらいブラウザの反応が遅くなるから、
なんとなくmysqlに変えてみたらなぜか早くなりました(300ms→100ms)
※他にも簡単なSQLありますが、上のコードが無い場合は両者反応速度一緒ぐらいです
しかしdebug_toolbarで見るSQLの実行時間は常に変わらず0or1ms

あとtime.clockでもコードの実行時間見てるけど、なんか変です
上のコードがあるメソッドを、clockで囲ってコード有無・DB変更して計測しても、常に30ms未満
なぜでしょうか・・・orz

django1.6.2 python2.7 windows7

305:nobodyさん
14/04/08 19:30:15.43
計測何回やったんだ
sqliteはファイルだからIOがとかなんとか
mysqlもファイルですよ

306:nobodyさん
14/04/08 23:51:56.94
>>305
ついでにtimeitとやらで計測してみました
t = timeit.Timer("""s = SessionStore('key')
s.save()""", 'from django.contrib.sessions.backends.db import SessionStore')
logging.debug(t.timeit(10))

[ sqlite3.8.3.1 ] 約2800ms VACUUMすると遅くなって3800ms・・・
QUERY = u'SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date"
FROM "django_session" WHERE ("django_session"."session_key" = %s AND "django_session"."expire_date" > %s )' -
 PARAMS = (u"'z9q43506rahjmcheld9e0m9p4motsbwa'", u"'2014-04-08 13:53:36.183000'")
QUERY = u'BEGIN' - PARAMS = ()
QUERY = u'UPDATE "django_session" SET "session_data" = %s, "expire_date" = %s
  WHERE "django_session"."session_key" = %s ' - PARAMS =  (u"'NDFkMjdiMjI5NWUzYjliZWIzNGQwMGI1YzA1ZDcwMWQ5MjNmZWVlNDp7fQ=='",
  u"'2014-04-22 13:53:36.190000'", u"'z9q43506rahjmcheld9e0m9p4motsbwa'")
UPDATEはdebug_toolbar上では1or2ms。トランザクションの関係で計測上手く出来ないのかも?
UPDATEをSQLiteManagerから直接実行しても300msかかってました

[ mysql5.6.17 ] 約140ms
SELECT ??? FROM `django_session` WHERE (`django_session`.`session_key` = 'z9q43506rahjmcheld9e0m9p4motsbwa'
 AND `django_session`.`expire_date` > '2014-04-08 13:59:03' )
UPDATE `django_session` SET `session_data` = 'NDFkMjdiMjI5NWUzYjliZWIzNGQwMGI1YzA1ZDcwMWQ5MjNmZWVlNDp7fQ==',
 `expire_date` = '2014-04-22 13:59:03' WHERE `django_session`.`session_key` = 'z9q43506rahjmcheld9e0m9p4motsbwa'

しかしsqliteのアダプタって無駄が多いんですね
さすがに差が開きすぎな気もするので、単に私の環境のsqliteがおかしいのかも・・・

307:306
14/04/09 06:33:27.18
すみません、どうやら単純にデータがSSDにあるかどうかの問題でした…
sqliteファイルをSSDへ移したところ、2800ms→230msまで縮まりました
しかしHDDとSSDでここまで違うとは…

308:nobodyさん
14/05/22 16:31:45.79
馬鹿には無理

309:nobodyさん
14/05/24 02:57:47.14
nginxで使う場合uwsgiとgunicornでは、どちらがオススメでしょうか?

310:nobodyさん
14/05/24 03:17:53.06
そんな質問してるようじゃおまえにはまだはやい

311:nobodyさん
14/05/24 12:31:13.12
uWSGIの方が色々出来て便利だけどドキュメント読めないと詰むかもわからん。
Emperor + Zerg で Graceful reload とか。

312:nobodyさん
14/05/24 13:50:56.96
バカげた質問である

313:nobodyさん
14/05/24 14:09:01.28
Djangoに入ってるsimplejsonってUNICODEを期待してるの?

314:nobodyさん
14/05/26 00:49:39.85
>>313
は?

315:nobodyさん
14/07/02 22:36:04.75
どなたかいらっしゃたらちょっと助けて下さい。

DjangoのViewのとある関数で、別の関数の中で使った変数を使うことはできますか?
下の例なら、関数Aの中で関数BのgetHAMという変数を使いたいです。

316:nobodyさん
14/07/02 22:38:02.95
(例)
def A(request):
fee = int(getHAM) + 1
return fee

def B(request):
getHAM = str(1+1)

317:nobodyさん
14/07/02 23:15:22.78
そんな設計絶対に許さないけど、どうしてもというならセッション使おう

318:nobodyさん
14/07/02 23:17:36.14
やっぱり許せん

ステートレスって言葉を勉強してこい

319:nobodyさん
14/07/03 00:19:06.33
315です。

request.session['getHAM']みたいな感じで解決できたようです。
どうもありがとうございました。

ステートレスの意味が調べました。
ですが私はOAuth1を使ったTwitterアプリを作ろうとしていて、
views.pyのTwitterへリダイレクトする関数とTwitterからのcallbackを受ける関数はどうしても違うものになるかと思います。
プログラミング自体が初心者でして、不快にさせていたら申し訳ないです。

320:nobodyさん
14/07/03 01:28:08.19
>>319
ごめん調子に乗っただけ

oauth か。oauth みたいにステート保持する必要あるならセッション使う


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch