1
resposta

[Sugestão] Incluindo Honeypot | Correção para compatibilidade com Django 4.2.2

Para corrigir a compatibilidade da biblio django-admin-honeypot==1.1.0 com o Django==4.2.2, é necessário:

Alterar nos arquivos:

\venv\Lib\site-packages\admin_honeypot\models.py
\venv\Lib\site-packages\admin_honeypot\admin.py
\venv\Lib\site-packages\admin_honeypot\views.py

De:

from django.utils.translation import ugettext as _ 

Para:

from django.utils.translation import gettext as _

Alterar no arquivo:

\venv\Lib\site-packages\admin_honeypot\signals.py

De:

honeypot = Signal(providing_args=['instance', 'request'])

Para:

honeypot = Signal('request')

Alterar no arquivo:

\venv\Lib\site-packages\admin_honeypot\urls.py

De:

from admin_honeypot import views
from django.conf.urls import url

app_name = 'admin_honeypot'

urlpatterns = [
    url(r'^login/$', views.AdminHoneypot.as_view(), name='login'),
    url(r'^.*$', views.AdminHoneypot.as_view(), name='index'),

Para:

from admin_honeypot import views
from django.urls import re_path

app_name = 'admin_honeypot'

urlpatterns = [
    re_path(r'^login/$', views.AdminHoneypot.as_view(), name='login'),
    re_path(r'^.*$', views.AdminHoneypot.as_view(), name='index'),

Com essas alterações, não será mais necessário fazer downgrade de versão do Django.

Espero ter ajudado. Abraços.

1 resposta

Olá! Tudo bem?

Peço desculpa pela demora em responder o seu tópico.

Obrigada por compartilhar essa sugestão para corrigir a compatibilidade da biblioteca django-admin-honeypot com o Django 4. Parece que você encontrou uma solução interessante!

As alterações que você mencionou nos arquivos são necessárias para fazer a substituição correta da importação do método ugettext para gettext, conforme exigido pelo Django 4.

Tenho certeza que você ajudará alunos que estão com problemas de compatibilidade.

Caso durante os seus estudos você tenha dúvidas ou problemas, você pode recorrer ao fórum! Contamos com uma grande comunidade que pode lhe ajudar.

Bons estudos!