私はさまざまなデータを含むフォームを検証するインデックスビューを持っています。 thankyou.htmlページにはサーバを強制終了するための複雑な計算がありませんが、thankyou.htmlがすでに低レベルでキャッシュされている場合は、slighlty異なるHTMLページをレンダリングしたいと思います。真実を伝えるために、私はそれをどのように伝えるべきか分からない...ここにコードがある。Django低レベルキャッシュビュー
DEF指数(要求):
形式=ユーザーフォーム()
メッセージ= '不正なデータ!'
request.method場合== 'POST'
形式=ユーザーフォーム(request.POST)
form.is_valid場合():
試してみてください。
User.objects.get(コード=フォーム。cleaned_data [ 'コード'])(KeyError例外、ObjectDoesNotExist)以外
:
U =ユーザー(LASTNAME = form.cleaned_data [ 'LASTNAME']、 姓=フォーム.cleaned_data ['surname']、 アドレス= form.cleaned _data [ 'アドレス']、 メール= form.cleaned_data [ 'メール']、 電話機= form.cleaned_data [ '電話']、 コード= form.cleaned_data [ 'コード']、 )
uである。セーブ()
リターンHttpResponseRedirect( '/感謝/')
#returnリダイレクト( 'ありがとう')
戻りrender_to_response( 'index.htmlを' { 'メッセージ':メッセージ、 '形態':フォーム}、 context_instance = RequestContextの(リクエスト))。
私はこれは私が低レベルのキャッシュがそれべき道だと思います:
form.is_valid場合():
キー= ???
cached_html = cache.get(キー)
試してみてください。
User.objects.get(コード= form.cleaned_data [ 'コード'])
(KeyError例外、ObjectDoesNotExist)以外 :
U =ユーザー(LASTNAME = form.cleaned_data [ 'LASTNAME']、 姓= form.cleaned_data [ '姓']、 アドレス= form.cleaned_data [ 'address']、 email = form.cleaned_data ['email']、 phone = form.cleaned_data ['phone']、 コード=フォーム。cleaned_data [ 'コード']、 )
u.save()
cached_htmlない場合:
cached_html = render_to_response( 'ty.html'、{}、 context_instance = RequestContextの(リクエスト))
キャッシュ。セット(キー、cached_html、time_until_midnight())
リターンHttpResponseRedirect( '/感謝/')
#returnリダイレクト( 'ありがとう')