質問編集履歴
3
少し追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -155,3 +155,35 @@
|
|
155
155
|
という表示でニュースを並べており、記事の隣にクリック数を表示できるようにクリックされた際にview_numberの値を増やすようにしたいのですが、上のコードでurlから記事に飛んでもview_numberは変わりませんでした。
|
156
156
|
|
157
157
|
count.jsは読み込めており、特にエラーは出ていないのですが、どこを直せばよいでしょうか?
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
[追記]
|
162
|
+
|
163
|
+
count.jsの
|
164
|
+
|
165
|
+
```
|
166
|
+
|
167
|
+
beforeSend: function(xhr, settings) {
|
168
|
+
|
169
|
+
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
|
170
|
+
|
171
|
+
xhr.setRequestHeader("X-CSRFToken", csrf_token);
|
172
|
+
|
173
|
+
}
|
174
|
+
|
175
|
+
},
|
176
|
+
|
177
|
+
```
|
178
|
+
|
179
|
+
の部分をコメントアウトしてURLをクリックすると
|
180
|
+
|
181
|
+
Forbidden (CSRF token missing or incorrect.): /news
|
182
|
+
|
183
|
+
Forbidden (CSRF token missing or incorrect.): /news
|
184
|
+
|
185
|
+
[17/Nov/2020 17:09:42] "POST /news HTTP/1.1" 403 2556
|
186
|
+
|
187
|
+
[17/Nov/2020 17:09:42] "POST /news HTTP/1.1" 403 2556
|
188
|
+
|
189
|
+
のようなログが出て、CSRF tokenが見つからないとのことですが、上記のコードを再度挿入してクリックしてもリンクに飛ぶだけでPOSTのログは出てきません。
|
2
views.py変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,15 +98,7 @@
|
|
98
98
|
|
99
99
|
$('.news_'+number).click(function() {
|
100
100
|
|
101
|
-
|
101
|
+
|
102
|
-
|
103
|
-
// view_number: 1,
|
104
|
-
|
105
|
-
// news_number: number,
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
//})
|
110
102
|
|
111
103
|
$.ajax({
|
112
104
|
|
1
views.py変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,33 +20,25 @@
|
|
20
20
|
|
21
21
|
```views.py
|
22
22
|
|
23
|
-
|
23
|
+
def news_list(request):
|
24
24
|
|
25
|
-
|
25
|
+
news = News.objects.order_by('id').reverse()
|
26
26
|
|
27
|
-
model = News
|
28
|
-
|
29
|
-
queryset = News.objects.order_by('id').reverse()
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
paginate_by = 20
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
def count_view(request):
|
38
|
-
|
39
|
-
|
27
|
+
if request.method == 'POST':
|
40
28
|
|
41
29
|
view_number =int(request.POST['view_number'])
|
42
30
|
|
43
31
|
news_number =int(request.POST['news_number'])
|
44
32
|
|
45
|
-
news = get_object_or_404(News, id=news_number)
|
33
|
+
viewd_news = get_object_or_404(News, id=news_number)
|
46
34
|
|
47
|
-
news.view_number += view_number
|
35
|
+
viewed_news.view_number += view_number
|
48
36
|
|
49
|
-
news.save()
|
37
|
+
viewd_news.save()
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
return render(request, 'mysite/news.html', {'news':news})
|
50
42
|
|
51
43
|
```
|
52
44
|
|