Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # UserProfile model
- class UserProfile(models.Model):
- user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True)
- userfile = models.FileField(upload_to=user_directory_path)
- # Forms
- class FileUploadForm(forms.ModelForm):
- class Meta:
- model = UserProfile
- fields = ['userfile']
- class UserForm(forms.ModelForm):
- class Meta:
- model = get_user_model()
- fields = ['email', 'first_name', 'last_name']
- # View
- def register(request):
- form_initial = UserForm()
- file_form_initial = FileUploadForm(prefix="file")
- context = {
- 'form': form_initial,
- 'file_form': file_form_initial,
- }
- if request.method == 'POST':
- file_form = FileUploadForm(request.POST, request.FILES)
- form = UserForm(request.POST)
- if form.is_valid() and file_form.is_valid():
- user = form.save(commit=False)
- email = form.cleaned_data['email']
- first_name = form.cleaned_data['first_name']
- last_name = form.cleaned_data['last_name']
- password = BaseUserManager().make_random_password()
- user.set_password(password)
- user.save()
- profile = UserProfile(user=user)
- file_form.save()
- login(request, user)
- return redirect('profile:profile')
- return render(request, 'profile/register.html', context)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement