2
私のdjangoバージョンは1.11.4です。私は自分の書籍の中で、私が選択した人のコメントを投稿できるWebページを作る必要がありますレストラン。Django:禁止されています(CSRFトークンがないか間違っています)
しかし、メッセージForbidden (CSRF token missing or incorrect.)
が表示されます。
views.py:
comments.htmldef comments(request, id):
if id != 0:
r = Restaurant.objects.get(id = id)
else:
return HttpResponseRedirect('/restaurantsList/')
if request.POST:
dateTime = timezone.localtime(timezone.now())
Comment.objects.create(
content = request.POST['content'],
visitor = request.POST['visitor'],
email = request.POST['email'],
dateTime = dateTime,
restaurant = r
)
return render_to_response('comments.html', locals(), RequestContext(request))
:私は.htmlの中{% csrf_token %}
を追加しました
<!doctype html>
<html>
<head>
<title>Comments</title>
<meta charset='utf-8'>
</head>
<body>
<h2>Comments for {{ r.name }}</h2>
{% if r.comment_set.all %}
<p>We have {{ r.comment_set.all | length }} comments</p>
<table>
<tr>
<th>Visitor</th>
<th>Time</th>
<th>Comment</th>
</tr>
{% for c in r.comment_set.all %}
<tr>
<td>{{ c.visitor }}</td>
<td>{{ c.dateTime | date:'F j, Y' }}</td>
<td>{{ c.content }}</td>
</tr>
{% endfor %}
</table>
{% else %}
<p>No comment</p>
{% endif %}
<br /><br />
<form action='' method='post'> {% csrf_token %}
<table>
<tr>
<td><label for='visitor'>Visitor: </label></td>
<td><input id='visitor' type='text' name='visitor'></td>
</tr>
<tr>
<td><label for='email'>E-mail: </label></td>
<td><input id='email' type='text' name='email'></td>
</tr>
<tr>
<td><label for='content'>Comment: </label></td>
<td>
<textarea id='content' rows='10' cols='48'
name='content'></textarea></td>
</td>
</tr>
</table>
<input type='submit' value='Submit'>
</form>
</body>
は、ビュー機能でRequestContext(request)
を使用して、私は、検索方法をいくつか試してみましたインターネットから。しかし、それはまだ動作しません。
誰かが私に助けを与えることができますか?ありがとう!
日付のチュートリアルまで以上を探しているなら、ポーリングチュートリアルとDjango女の子チュートリアルを開始するには、両方の良い場所です。https://docs.djangoproject.com/en/1.11/intro/tutorial01 /とhttps://tutorial.djangogirls.org/ja/ – FlipperPA