をレンダリングします。ジャンゴ - CSRFトークン生成 - render_to_response対私はジャンゴで簡単なユーザ登録フォームにしようとしています
として:私はrender_to_response
戻りrender_to_response({RegistrationForm() '形態'} ')登録/ register.html'、RequestContextの(要求を)使用する場合、CSRFトークンが生成され取得されていません私はリターンレンダリング
render
を使用する場合、CSRFトークンが生成されつつある(リクエスト、 '登録/ register.html' { '形態':RegistrationForm()})
私は、次の
render_to_response
で何も悪いことをやっているお勧めのアプローチは
render
代わりのrender_to_response
を使用することです関連するコードブロック
views.py
@csrf_protect def register(request): if request.method == 'POST': form = RegistrationForm(request.POST) if form.is_valid(): user = User.objects.create_user( username=form.cleaned_data['username'], password=form.cleaned_data['password1'], email=form.cleaned_data['email'] ) return HttpResponseRedirect('/register_success/') else: return render_to_response('registration/register.html', RequestContext(request, {'form': RegistrationForm()}))
register.html
{% extends "base.html" %} {% block title %}User Registration{% endblock %} {% block content %} <form method="post" action="."> {% csrf_token %} <table border="0"> {{ form.as_table }} </table> <input type="submit" value="Register" /> </form> {% endblock %}