私は自分のウェブサイトにサインアップ機能を追加しようとしていますが、これは私がこれまで行ってきたことです...
- home.html に {% csrf_token %} を追加
- rendor_to_response の代わりに render を使用する
- ミドルウェア「django.middleware.csrf.CsrfViewMiddleware」を追加
home.html:
<div class="panel right">
<p>
<form action="/signup" method="post">
{% csrf_token %}
{% for field in user_form %}
{{ field }}
{% endfor %}
<input type="submit" value="Create Account">
</form>
</p>
</div>
views.py での登録方法
def signup(request):
user_form = UserCreateForm(data=request.POST)
if request.method == 'POST':
if user_form.is_valid():
username = user_form.clean_username()
password = user_form.clean_password2()
user_form.save()
user = authenticate(username=username, password=password)
login(request, user)
return render(request,'blog.html')
else:
return render(request,'index.html')
return redirect('/')
コードの何が問題になっていますか?