рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рддрдм рдорд┐рд▓реА рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ 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 рдПрдирдХреЛрдбреЗрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рдВрд╕реНрдХрд░рдг:
рдЬрд╛рд░реА рдиреЛрдЯ рдХрд╣рддрд╛ рд╣реИ:
FILE_CHARSET
рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Django 3.1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝реА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ UTF-8 рдПрдирдХреЛрдбреЗрдб рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
Django рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдз:
https://github.com/django/django/commit/0cd465b63aa7c03a3d14bd5fd6543628d585f8da
рдЯрд┐рдХрдЯ:
рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл 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
рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдЕрдм рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддреА рд╣реИ) рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА
settings.FILE_CHARSET
рдкреНрд░реЙрдкрд░реНрдЯреА рддрдХutf-8
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣реА рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВредрдЕрдЧрд░ рд╣рдо рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдХреЛрдб рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
рдпрджрд┐ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рд▓рд┐рдП рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред