Registration in Django
From what you can find on the docs you are pretty close. I may change a couple things a little just to be on the safe side:

Change:

user = authenticate(username=request.POST["username"], password=request.POST["password1"])


To:

user = authenticate(username=form.cleaned_data['username'], form.cleaned_data['password1'])


The first way is not wrong, but using validated data on forms is a better practice than using the raw post request. Is better to be consistent.