Advertisement
KNenov96

Untitled

Jun 4th, 2023
894
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1.  
  2. urlpatterns = [
  3.     path('<int:pk>', views.ProfileDetailView.as_view(), name='details-profile'),
  4.     path('edit/', views.ProfileEditView.as_view(), name='edit-profile'),
  5.     path('delete/', views.ProfileDeleteView.as_view(), name='delete-profile')
  6. ]
  7.  
  8. class UserProfile(models.Model):
  9.     user = models.OneToOneField(User, on_delete=models.CASCADE)
  10.     first_name = models.CharField(max_length=30)
  11.     last_name = models.CharField(max_length=30)
  12.     image = models.ImageField(upload_to='images/')
  13.  
  14.     def __str__(self):
  15.         return f'{self.first_name}, {self.last_name}'
  16.  
  17.  
  18. class DeleteUserForm(forms.ModelForm):
  19.     class Meta:
  20.         model = UserProfile
  21.         exclude = []
  22.  
  23.     def __init__(self, *args, **kwargs):
  24.         super().__init__(*args, **kwargs)
  25.         for field in self.fields.values():
  26.             field.widget.attrs['disabled'] = 'disabled'
  27.  
  28. class ProfileDeleteView(DeleteView):
  29.     model = UserProfile
  30.     template_name = 'delete-profile.html'
  31.     success_url = reverse_lazy('home-page')
  32.     form_class = DeleteUserForm
  33.  
  34.     def get_object(self, queryset=None):
  35.         return self.request.user
  36.  
  37.     def get_form_kwargs(self):
  38.         kwargs = super().get_form_kwargs()
  39.         kwargs['instance'] = self.get_object().userprofile
  40.         return kwargs
  41.  
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement