Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- urlpatterns = [
- path('<int:pk>', views.ProfileDetailView.as_view(), name='details-profile'),
- path('edit/', views.ProfileEditView.as_view(), name='edit-profile'),
- path('delete/', views.ProfileDeleteView.as_view(), name='delete-profile')
- ]
- class UserProfile(models.Model):
- user = models.OneToOneField(User, on_delete=models.CASCADE)
- first_name = models.CharField(max_length=30)
- last_name = models.CharField(max_length=30)
- image = models.ImageField(upload_to='images/')
- def __str__(self):
- return f'{self.first_name}, {self.last_name}'
- class DeleteUserForm(forms.ModelForm):
- class Meta:
- model = UserProfile
- exclude = []
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- for field in self.fields.values():
- field.widget.attrs['disabled'] = 'disabled'
- class ProfileDeleteView(DeleteView):
- model = UserProfile
- template_name = 'delete-profile.html'
- success_url = reverse_lazy('home-page')
- form_class = DeleteUserForm
- def get_object(self, queryset=None):
- return self.request.user
- def get_form_kwargs(self):
- kwargs = super().get_form_kwargs()
- kwargs['instance'] = self.get_object().userprofile
- return kwargs
Advertisement
Advertisement