def person_edit(request, pk): if pk != 'new': # if not request.user.has_perm('person.change_person'): # raise PermissionDenied instance = get_object_or_404(Person, pk=pk) else: # if not request.user.has_perm('person.add_person'): # raise PermissionDenied instance = None form = PersonEditForm(request.POST or None, instance=instance) if form.is_valid(): saved_instance = form.save() if not instance: messages.success(request, u'Person created successfully') else: messages.success(request, u'The person saved successfully') return redirect('person', pk=saved_instance.pk) return render(request, 'person/person_edit.html', {'form': form})