403禁止されたエラーが発生しています。私は、フォーラムで説明されているコンテキストのものをやってみましたが、私はまだ正方形の1つです。CRSFトークンが見つからないか正しくありません
私は間違っていますか?私のviews.py
def add_player(request, team_id):
template = get_template('cricket/addplayer.html')
loggedinuser = request.user
team = Team.objects.get(id=team_id)
if request.method== 'POST':
form = PlayerForm(request.POST)
if form.is_valid():
player = Player.objects.create(
name = form.cleaned_data['name'],
team = Team.objects.get(id=team_id),
role = form.cleaned_data['role'],
position = form.cleaned_data['position']
)
return HttpResponseRedirect('/team/%s/' % team_id)
else:
form = PlayerForm
page_vars = Context({
'form': form,
'loggedinuser': loggedinuser,
'team': team,
})
output = template.render(page_vars)
return HttpResponse(output)
と私のテンプレート。あなたが見ることができるように、それは私がかなりすぐに何かをオフに私の頭をハックますかなり確信しています{%csrf_token%}
{% extends 'cricket/base.html' %}
{% block title %}
{{ loggedinuser }}
{% endblock %}
{% block username %}
{{ loggedinuser }}
{% endblock %}
{% block date %}
{{ today }}
{% endblock %}
{% block content %}
<div class="span7">
<h2>Adding player for {{ team }}</h2>
<form method="post" action=".">
{% csrf_token %}
{{ form.as_p }}
<input type="submit">
</form>
</div>
{% endblock %}
を持っています。
//マウス
オーケー、私はそれを解決しました。 RequestContextを使用する必要があります。ここに私の解決策は、あなたはまた、ジャンゴでクラスベースの汎用ビューを使用することができますcrsfcontext
page_vars = Context({
'form': form,
'loggedinuser': loggedinuser,
'team': team,
})
crsfcontext = RequestContext(request, page_vars)
output = template.render(crsfcontext)
return HttpResponse(output)
こんにちはマウス、あなたの問題を解決してうれしい。ソリューションを含めるように質問を編集するのではなく、別の答えとして追加する方が良いでしょう。こうすることで、他のユーザーが投票できるようになり、受け入れられたとマークすることができ、他のユーザーはあなたがその答えを見つけたことを知ることができます。 – Alasdair
ビューでもっとクリーンなコードを表示するには[render](https://docs.djangoproject.com/ja/dev/topics/http/shortcuts/#render)を使用してください – ilvar
私自身の質問に答えることができず、待たなければなりませんでした8時間。 – debuggerpk