質問するログイン新規登録

質問編集履歴

3

他の方から指摘を頂き、form.pyを削除しました。

2018/04/05 05:04

投稿

superyamadaman
superyamadaman

スコア13

title CHANGED
File without changes
body CHANGED
@@ -12,16 +12,7 @@
12
12
  user = models.CharField(max_length=255)
13
13
  game_count = models.IntegerField(default=0)
14
14
  ```
15
- forms.py
16
- ```django
17
- from django import forms
18
- from .models import User
19
15
 
20
- class CountForm(forms.ModelForm):
21
- class Meta:
22
- model = User
23
- fields = ("game_count",)
24
- ```
25
16
  views.py
26
17
  ```django
27
18
  from django.shortcuts import render
@@ -29,7 +20,6 @@
29
20
  from .forms import CountForm
30
21
 
31
22
  def user(request):
32
- form = CountForm(request.POST or None)
33
23
  user = User.objects.get(pk=1)
34
24
  if request.method == 'POST' and form.is_valid():
35
25
  user.game_count += 1
@@ -48,7 +38,7 @@
48
38
  {% endblock %}
49
39
  ```
50
40
  **追記**
51
- その後、以下の行を削除することで試行錯誤して動くようになりました。
41
+ その後、試行錯誤して以下の行を削除することで動くようになりました。
52
42
  if request.method == 'POST' and form.is_valid():
53
43
  しかし、このバリデーションを削除して良いのか疑問に感じます。
54
44
  SUBMITボタンに対する適切なバリデーションの方法をご存知の方がいましたら、ご教示頂けませんでしょうか。

2

一応動作するようになったため、追記しました。

2018/04/05 05:04

投稿

superyamadaman
superyamadaman

スコア13

title CHANGED
File without changes
body CHANGED
@@ -46,4 +46,9 @@
46
46
  {% csrf_token %}
47
47
  </form>
48
48
  {% endblock %}
49
- ```
49
+ ```
50
+ **追記**
51
+ その後、以下の行を削除することで試行錯誤して動くようになりました。
52
+ if request.method == 'POST' and form.is_valid():
53
+ しかし、このバリデーションを削除して良いのか疑問に感じます。
54
+ SUBMITボタンに対する適切なバリデーションの方法をご存知の方がいましたら、ご教示頂けませんでしょうか。

1

コードの一部を修正しました。

2018/04/05 02:17

投稿

superyamadaman
superyamadaman

スコア13

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,7 @@
3
3
  クリックするたびごとにリロードされてしまうので、本来ならajaxで実装すべきですが、まずはこの一番シンプルな形で実装したいと思います。
4
4
  どなたか、解決策をご教示頂けませんでしょうか。
5
5
  何卒宜しくお願い致します。
6
+ (userはpk=1だけが存在するという設定です)
6
7
 
7
8
 
8
9
  models.py
@@ -29,11 +30,11 @@
29
30
 
30
31
  def user(request):
31
32
  form = CountForm(request.POST or None)
32
- user = User.objects.get(pk=2)
33
+ user = User.objects.get(pk=1)
33
34
  if request.method == 'POST' and form.is_valid():
34
35
  user.game_count += 1
35
36
  user.save()
36
- game_count = User.objects.get(pk=2).game_count
37
+ game_count = User.objects.get(pk=1).game_count
37
38
  return render(request, 'app/user.html', {'count': game_count})
38
39
  ```
39
40
  user.html