私は自分のデータベースの中に入って、特定の提出が以前に提出されたかどうか、そしてそれが再提出を停止しているかどうかを確認しようとしています。現在、私は、フォームの各フィールドをテストコードのこのビットを持っている(明らかにフィールドごとに変わりますが、私は私だけ簡単にするために一つのフィールドを表示しようと思いました)、それはそれが経つ存在して保存していない場合は、Djangoデータベースに関するお問い合わせデータベースに重複を見つけて送信を停止する
if request.method == 'POST':
Cashtexts.objects.filter(cashTexts=request.POST['cashTexts']).exists() == False:
をデータベースに提出する。 trueを返すと、入力した内容が既に入力されていることをユーザーに知らせるelseステートメントに進みます。以前はこのタイプのものが働いていましたが、いくつかの変数名が変更され、現在は機能しなくなっています。私はコードをしばらくブラウジングしていたので、このタイプのフィルタでは根本的に何かが間違っていたかもしれないと思っていましたが、私の頭の中では理にかなっています。
def submit_win(request):
if request.method == 'POST':
if Cashtexts.objects.filter(cashTexts=request.POST['cashTexts']).exists() or Cashtexts.objects.filter(superPoints=request.POST['superPoints']).exists() or Cashtexts.objects.filter(varolo= request.POST['varolo']).exists() or Cashtexts.objects.filter(swagbucks = request.POST['swagbucks']).exists() or Cashtexts.objects.filter(neobux = request.POST['neobux']).exists() or Cashtexts.objects.filter(topline=request.POST['topline']).exists() or Cashtexts.objects.filter(Paidviewpoint=request.POST['Paidviewpoint']).exists() or Cashtexts.objects.filter(cashcrate=request.POST['cashcrate']).exists() == False:
form = CashtextsForm(request.POST)
if form.is_valid():
form.save()
ref_create = Cashtexts.objects.filter(cashTexts=request.POST['cashTexts'])
return render_to_response('submitted_page.html', {'ref_create': ref_create})
else: #Error message reading wither you didnt insert codes or you enter the same code twice
error = 'That code has already been submitted'
ref_create = CashtextsForm()
return render_to_response('submit.html', {'ref_create': ref_create,'error':error}, context_instance=RequestContext(request))
else: #displays the page when the user asks to go to the submit page
ref_create = CashtextsForm()
return render_to_response('submit.html', {'ref_create': ref_create}, context_instance=RequestContext(request))
また、私は変数intoa Cashtexts.objects.filter(cashTexts = request.POST [「cashTextsを」])なって、それが戻ったかを見るために私のテンプレートに渡され、それが持つべきオブジェクトを返していました本当の声明を語った。とにかくそれを無視して提出するように見えました。
提出時に入力したものと一致する以前のすべてのオブジェクトを削除することができますが、それは安全性が低くなり、ユーザーが繰り返し投稿していると考えていることにつながります。私はそれが起こる前に、むしろそれを止めるだろう。
これは機能しません。私はdbとsync'dを新しいものに落としました、そして今私は新しいエラーが表示されます。ビューusers.views.submit_winはHttpResponseオブジェクトを返しませんでした。ときにバインドされていない形式を示すGETのためのelseを持っています。理由はわかりません – city
あなたのビューコードなしでは何も言えません。 – marue
申し訳ありませんが、そのページのビューを追加しました – city