Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1. # UserProfile model
  2.  
  3. class UserProfile(models.Model):
  4.     user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True)
  5.     userfile = models.FileField(upload_to=user_directory_path)
  6.  
  7. # Forms
  8.  
  9. class FileUploadForm(forms.ModelForm):
  10.     class Meta:
  11.         model = UserProfile
  12.         fields = ['userfile']
  13.  
  14. class UserForm(forms.ModelForm):                                                                                                                                                   
  15.     class Meta:
  16.         model = get_user_model()
  17.         fields = ['email', 'first_name', 'last_name']
  18.  
  19.  
  20. # View
  21. def register(request):
  22.     form_initial = UserForm()
  23.     file_form_initial = FileUploadForm(prefix="file")
  24.     context = {
  25.             'form': form_initial,
  26.             'file_form': file_form_initial,
  27.             }
  28.  
  29.     if request.method == 'POST':
  30.         file_form = FileUploadForm(request.POST, request.FILES)
  31.         form = UserForm(request.POST)
  32.         if form.is_valid() and file_form.is_valid():
  33.             user = form.save(commit=False)
  34.             email = form.cleaned_data['email']
  35.             first_name = form.cleaned_data['first_name']
  36.             last_name = form.cleaned_data['last_name']
  37.  
  38.             password = BaseUserManager().make_random_password()
  39.             user.set_password(password)
  40.            
  41.             user.save()
  42.  
  43.             profile = UserProfile(user=user)
  44.             file_form.save()
  45.             login(request, user)
  46.             return redirect('profile:profile')
  47.     return render(request, 'profile/register.html', context)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement