Advertisement
Guest User

Untitled

a guest
Mar 7th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. from django.db import models
  2. from django.conf import settings.AUTH_USER_MODEL
  3. from django.db.models.signals import post_save
  4. from django.dispatch import receiver
  5.  
  6. class Profile(models.Model):
  7. user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
  8. bio = models.TextField(foo)
  9. location = models.CharField(foo)
  10.  
  11.  
  12. # Override save method
  13. # Run after the method is saved to add signal functionality below
  14. def save(self, *args, **kwargs):
  15. super().save(*args, **kwargs)
  16.  
  17. @receiver(post_save, sender=User)
  18. def create_user_profile(sender, instance, created, **kwargs):
  19. if created:
  20. Profile.objects.create(user=instance)
  21. else:
  22. instance.profile.save()
  23.  
  24. from django import forms
  25. from django.contrib.auth import get_user_model
  26. from django.forms import ModelForm
  27. from .models import Profile
  28.  
  29. Profile = get_user_model()
  30.  
  31. class UserRegisterForm(forms.ModelForm):
  32. email = forms.EmailField(foo)
  33. first_name = forms.CharField(foo)
  34. last_name = forms.CharField(foo)
  35. password = forms.CharField(foo)
  36. password2 = forms.CharField(foo)
  37.  
  38. class Meta:
  39. model = Profile
  40. fields = [
  41. 'username',
  42. 'first_name',
  43. 'last_name',
  44. 'email',
  45. 'password1',
  46. 'password2'
  47. ]
  48.  
  49. from django.shortcuts import render, redirect
  50. from django.contrib.auth import get_user_model
  51. from .forms import UserRegisterForm
  52. from .models import Profile
  53. from django.conf import settings
  54.  
  55. def register(request):
  56. next = request.GET.get('next')
  57. form = UserRegisterForm(request.POST or None)
  58. if form.is_valid():
  59. user = form.save(commit=False)
  60. password = form.cleaned_data.get('password')
  61. user.set_password(password)
  62. user.save()
  63. new_user = authenticate(username=user.username, password=password)
  64. login(request, new_user)
  65. if next:
  66. return redirect(next)
  67. return redirect('accounts:login')
  68.  
  69. context = {
  70. 'form': form,
  71. }
  72. return render(request, "accounts/register.html", context)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement