Guest User

Untitled

a guest
Apr 12th, 2020
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. # webapp/models
  2.  
  3. from django.db import models
  4. from django.contrib.auth import get_user_model
  5.  
  6. User = get_user_model()
  7. class UserProfile(models.Model):
  8.     """ User profile model """
  9.  
  10.     user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)
  11.     receive_notifications = models.BooleanField(default=False)
  12.  
  13.     def __str__(self):
  14.         """A string representation of the model."""
  15.         return f"{self.user.email} Profile"
  16.  
  17.  
  18. # webapp/forms
  19.  
  20. from django import forms
  21. from .models import UserProfile
  22.  
  23. class UserProfile(forms.ModelForm):
  24.     class Meta:
  25.         model = UserProfile
  26.         fields = ['receive_notifications']
  27.  
  28.  
  29. # webapp/views
  30.  
  31. from django.shortcuts import render, redirect
  32. from django.contrib.auth.models import User
  33. from django.contrib import messages
  34. from .forms import UserProfile
  35.  
  36. def profile(request):
  37.     if request.method == 'POST':
  38.         profile_form = UserProfile(request.POST, instance=request.user)
  39.         if profile_form.is_valid():
  40.             data = profile_form.save()
  41.             messages.success(request, f"Your account has been updated")
  42.             return redirect('/')
  43.     else:
  44.         profile_form = UserProfile(instance=request.user)
  45.  
  46.     return render(request, 'webapp/index.html', context={'profile_form': profile_form})
Advertisement
Add Comment
Please, Sign In to add comment