On Fri, Dec 29, 2017 at 5:59 AM, emi <[email protected]> wrote: > Hello all! > I'm new to the list and mostly new to Django. > > I am adding django-encrypted-model-fields to my Django project and one of > the steps to install it is to generate a key using a ./manage.py command: > $ ./manage.py generate_encryption_key > > When executing it, an error is raised: > Traceback (most recent call last): > File "./manage.py", line 22, in <module> > execute_from_command_line(sys.argv) > File > "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", > line 371, in execute_from_command_line > utility.execute() > File > "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", > line 365, in execute > self.fetch_command(subcommand).run_from_argv(self.argv) > File > "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", > line 288, in run_from_argv > self.execute(*args, **cmd_options) > File > "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", > line 335, in execute > output = self.handle(*args, **options) > File "/usr/local/lib/python3.6/site-packages/encrypted_model_ > fields/management/commands/generate_encryption_key.py", line 15, in handle > self.stdout.write(key, ending=b'\n') > File > "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", > line 106, in write > self._out.write(style_func(msg)) > TypeError: write() argument must be str, not bytes > > > I have found a workaround for this, decoding output before writing to > stdout, on django/core/management/base.py, line 106: > > $ diff django/core/management/base.py-original > django/core/management/base.py > 106c106 > < self._out.write(style_func(msg)) > --- > > self._out.write(style_func(msg).decode(self._out.encoding)) > > Do I have to do a pull request to Django or try to debug > django-encrypted-model-fields and talk to their developers? >
I don't think you should patch the core management for only a third-party app, instead you should modify the third-party to match what django expects (i.e. convert to string at generate_encryption_key.py). I think you may contact their developers for including it on the package > > Thanks in advance! > em and best regardsi > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/django-users/b7372388-ea45-4ec7-b62e-84d0540a365a%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/b7372388-ea45-4ec7-b62e-84d0540a365a%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2BFDnhLbke9V9e6kZqSeZv7VO4ZVJKNqwfkgj6Ojf6Yhx1DnGw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

