Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserProfile(models.Model):
- # This field is required.
- user = models.ForeignKey(User, unique=True, related_name="connector")
- location = models.CharField(max_length=20, blank=True, null=True)
- def create_user_profile(sender, instance, created, **kwargs):
- if created:
- UserProfile.objects.create(user=instance)
- post_save.connect(create_user_profile, sender=User)
- class UserForm(ModelForm):
- class Meta:
- model = User
- class UserProfileForm(ModelForm):
- class Meta:
- model = UserProfile
- @csrf_protect
- def register(request):
- if request.method == 'POST':
- form1 = UserForm(request.POST)
- form2 = UserProfileForm(request.POST)
- if form1.is_valid() and form2.is_valid():
- #create initial entry for user
- username = form1.cleaned_data["username"]
- password = form1.cleaned_data["password"]
- new_user = User.objects.create_user(username, password)
- new_user.save()
- #create entry for UserProfile (extension of new_user object)
- profile = form2.save(commit = False)
- profile.user = new_user
- profile.save()
- return HttpResponseRedirect("/books/")
- else:
- form1 = UserForm()
- form2 = UserProfileForm()
- c = {
- 'form1':form1,
- 'form2':form2,
- }
- c.update(csrf(request))
- return render_to_response("registration/register.html", c)
- <form action="/accounts/register/" method="post">{% csrf_token %}
- <p style="color:red"> {{form.username.errors}}</p>
- {{ form1.as_p }}
- {{ form2.as_p }}
- <input type="submit" value="Create the account">
- </form>
- @csrf_protect
- def register(request):
- if request.method == 'POST':
- form1 = UserForm(request.POST, prefix = "user")
- form2 = UserProfileForm(request.POST, prefix = "profile")
- if form1.is_valid() and form2.is_valid():
- #create initial entry for user
- username = form1.cleaned_data["username"]
- password = form1.cleaned_data["password"]
- new_user = User.objects.create_user(username, password)
- new_user.save()
- #create entry for UserProfile (extension of new_user object)
- profile = form2.save(commit = False)
- profile.user = new_user
- profile.save()
- return HttpResponseRedirect("/books/")
- else:
- form1 = UserForm(prefix = "user")
- form2 = UserProfileForm(prefix = "profile")
- c = {
- 'form1':form1,
- 'form2':form2,
- }
- c.update(csrf(request))
- return render_to_response("registration/register.html", c)
- class UserProfileForm(ModelForm):
- class Meta:
- model = UserProfile
- exclude = ('user',)
- class UserProfile(models.Model):
- user = models.ForeignKey(User, unique=True, related_name="connector")
- location = models.CharField(max_length=20, blank=True, null=True)
- @csrf_protect
- def register(request):
- if request.method == 'POST':
- form1 = UserForm(request.POST)
- form2 = UserProfileForm(request.POST)
- if form1.is_valid() and form2.is_valid():
- #create initial entry for user
- username = form1.cleaned_data["username"]
- password = form1.cleaned_data["password"]
- new_user = User()
- new_user.username = username
- new_user.set_password(password)
- new_user.save()
- profile = UserProfile()
- profile.user = new_user
- profile.save()
- return HttpResponseRedirect("/books/")
- else:
- form1 = UserForm()
- form2 = UserProfileForm()
- c = {
- 'form1':form1,
- 'form2':form2,
- }
- c.update(csrf(request))
- return render_to_response("registration/register.html", c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement