Django-compressor: рд╣рдЯрд╛рдП рдЧрдП InDjango31Warning: FILE_CHARSET рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЕрдкреНрд░реИрд▓ 2019  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: django-compressor/django-compressor

рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рддрдм рдорд┐рд▓реА рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ Django рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛ред

/path/to/lib/python3.7/site-packages/compressor/filters/base.py:115: RemovedInDjango31Warning: The FILE_CHARSET setting is deprecated. Starting with Django 3.1, all files read from disk must be UTF-8 encoded.
    default_encoding = settings.FILE_CHARSET

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ settings.FILE_CHARSET рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг 2.2 рд╕реЗ рдкрджрд╛рд╡рдирдд:
рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Django 3.1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝реА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ UTF-8 рдПрдирдХреЛрдбреЗрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╕рдВрд╕реНрдХрд░рдг:

  • django 2.2.0
  • django-рдХрдВрдкреНрд░реЗрд╕рд░ 2.2

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА settings.FILE_CHARSET рдкреНрд░реЙрдкрд░реНрдЯреА рддрдХ utf-8 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣реА рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рд╣рдо рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдХреЛрдб рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

import warnings

with warnings.catch_warnings():
    warnings.filterwarnings("ignore", message="popo popo")
    warnings.warn("popo popo")  # the code that will trigger the warning
# warnings are back to normal filtering from here

рдпрджрд┐ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рд▓рд┐рдП рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрд╛рд░реА рдиреЛрдЯ рдХрд╣рддрд╛ рд╣реИ:

FILE_CHARSET рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Django 3.1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝реА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ UTF-8 рдПрдирдХреЛрдбреЗрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

Django рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдз:

https://github.com/django/django/commit/0cd465b63aa7c03a3d14bd5fd6543628d585f8da

рдЯрд┐рдХрдЯ:

https://code.djangoproject.com/ticket/29817

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл settings.FILE_CHARSET рдХреЛ django-рдХрдВрдкреНрд░реЗрд╕рд░ рдореЗрдВ utf-8 рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ ...?

рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред utf-8 рд╕рд╛рде рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЗрдВ рдЯреВрдЯ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ рддреЛ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдирд┐рд░реНрдзрд╛рд░рдг рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреНрд░рд╢реНрди рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@karyon рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдПрдХ рдкреИрдЪ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЕрдЧрд░ рдореЗрд░реА рд╕рдордЭ рд╕рд╣реА рд╣реИ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ рдкреАрдЖрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓рд╛ рдореМрдХрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпрд╛рдж рдЖ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдкрд╣рд▓реЗ рд╣реА, рдЖрдкрдХрд╛ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

# 934 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛

рдирдпрд╛ рдХреЛрдб рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдмрд╣реБрдд рд╕рдорд╛рди рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдХрд╛рд░рдг рд▓рдЧрддрд╛ рд╣реИ:

  /usr/local/lib/python3.7/site-packages/compressor/filters/base.py:123: RemovedInDjango31Warning: The FILE_CHARSET setting is deprecated. Starting with Django 3.1, all files read from disk must be UTF-8 encoded.
    settings.FILE_CHARSET if settings.is_overridden('FILE_CHARSET') else

рд╕рд╛рде рдореЗрдВ

django-compressor==2.3
Django==2.2.2

рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА settings.FILE_CHARSET рдкреНрд░реЙрдкрд░реНрдЯреА рддрдХ utf-8 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣реА рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВред

рдЕрдЧрд░ рд╣рдо рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдХреЛрдб рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

import warnings

with warnings.catch_warnings():
    warnings.filterwarnings("ignore", message="popo popo")
    warnings.warn("popo popo")  # the code that will trigger the warning
# warnings are back to normal filtering from here

рдпрджрд┐ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рд▓рд┐рдП рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╣рд╛рдБ, рдПрдХ рдкреАрдЖрд░ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрдк рдореВрд▓ PR рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)

рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рд▓рд┐рдЦрддреЗ рд╕рдордп рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ is_overridden('FILE_CHARSET') рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рддрд░рд╣ рдХреА рдЭреВрдареА рдкрд╣рдЪрд╛рди рд╕реЗ рд╢реБрд░реВ рд╣реБрдИ рдереАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЬрдмрдХрд┐ рдореИрдВ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ FILE_CHARSET рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛, is_overridden('FILE_CHARSET') рд╕рд╣реА рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╕рд┐рд░реНрдл django- рдХрдВрдкреНрд░реЗрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рдПрдХ рдиреНрдпреВрдирддрдо django рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдкрд░реАрдХреНрд╖рдг -> рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА

рддреЛ рдореЗрд░рд╛ рдкреАрдЖрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ: is_overridden('FILE_CHARSET') рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП рдЗрд╕рд▓рд┐рдП compress() рдФрд░ CompilerFilter() рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рдмрдврд╝рд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд╕рд╛рдорд╛рдиреНрдп рд╕рд░рдХрдВрдбреЛрдВ рдХреЗ рддрд╣рддред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП django-рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рд╡рд╣ рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ: django / django @ 3d716467 рдкреНрд░рддрд┐рдмрджреНрдз (рдЬрд▓реНрдж рд╣реА рдЖрдиреЗ рд╡рд╛рд▓реЗ django 3.1 рдореЗрдВ рд╢рд╛рдорд┐рд▓) рдиреЗ рдЙрдХреНрдд рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ , django рдЕрдкрдЧреНрд░реЗрдбреЗрд╢рди рдЯрд╛рдЗрдорд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж ред

рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдЬрд▓рд╛ рдкрдХреНрд╖: рдореИрдВрдиреЗ рдирдП django рдХреЛрдб рдХреЗ рдЦрд┐рд▓рд╛рдл django- рдХрдВрдкреНрд░реЗрд╕рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ (рд╡рд╣ рдЬрд╣рд╛рдВ FILE_CHARSET рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдЕрдм рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддреА рд╣реИ) рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕