Skip to content

Commit d819f97

Browse files
authored
Add support for Django 4 (#24)
* Use path instead of url to support Django 4 The old way of defining urls in DJango is no longer supported in Django 4.0. This commit replaces the regular expression based paths by the more modern path method, and also adds app_name in the urls file to allow usage with URL namespaces. * Increase version Altered major version because old versions of Django cannot be supported anymore.
1 parent af0fa38 commit d819f97

File tree

8 files changed

+30
-26
lines changed

8 files changed

+30
-26
lines changed

error_tracker/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# :license: BSD-3-Clause
77
#
88

9-
__version__ = '2.1.0'
9+
__version__ = '3.0.0'
1010
__author__ = 'Sonu Kumar'
1111
__email__ = 'sonunitw12@gmail.com'
1212

error_tracker/django/templates/error_tracker/base.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<div class="container">
3939
{% block header_block %}
4040
<h2 class="text-center mb-5 mt-3">
41-
<a href="{% url 'view_errors' %}" class="text-dark home-link">{% trans 'Errors Seen' %}</a>
41+
<a href="{% url 'error_tracker:view_errors' %}" class="text-dark home-link">{% trans 'Errors Seen' %}</a>
4242
</h2>
4343
{% endblock %}
4444
{% block content_block %}

error_tracker/django/templates/error_tracker/partials/partial_table.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
<td>{{ error.host }}</td>
55
<td width="2%">{{ error.method }}</td>
66
<td>
7-
<a class="view-link" href="{% url 'view_error' rhash=error.hash %}">
7+
<a class="view-link" href="{% url 'error_tracker:view_error' rhash=error.hash %}">
88
{{ error.path|truncatechars:30 }}
99
</a>
1010
</td>
1111
<td>{{ error.exception_name }}</td>
1212
<td>{{ error.last_seen }}</td>
1313
<td>{{ error.count }}</td>
1414
<td>
15-
<a href="{% url 'delete_error' rhash=error.hash %}"
15+
<a href="{% url 'error_tracker:delete_error' rhash=error.hash %}"
1616
class="delete btn btn-danger btn-sm">{%trans 'Delete' %}</a>
1717
</td>
1818
</tr>

error_tracker/django/urls.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
# :license: BSD-3-Clause
77
#
88

9-
from django.conf.urls import url
9+
from django.urls import path
1010
from .views import detail, view_list, delete_exception
1111

12+
app_name = 'error_tracker'
1213
urlpatterns = [
13-
url(r'^$', view_list, name="view_errors"),
14-
url(r'^(?P<rhash>[\w-]+)/delete$', delete_exception, name='delete_error'),
15-
url(r'^(?P<rhash>[\w-]+)$', detail, name='view_error'),
14+
path('', view_list, name="view_errors"),
15+
path('<rhash>/delete', delete_exception, name='delete_error'),
16+
path('<rhash>', detail, name='view_error'),
1617
]

error_tracker/django/views.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,14 @@ def view_list(request):
4242
error = False
4343
errors = model.get_exceptions_per_page(**query)
4444

45-
next_url = reverse('view_errors') + "?page=" + str(errors.next_num) \
45+
next_url = reverse('error_tracker:view_errors') + "?page=" + str(errors.next_num) \
4646
if errors.has_next else None
4747

48-
prev_url = reverse('view_errors') + "?page=" + str(errors.prev_num) \
48+
prev_url = reverse('error_tracker:view_errors') + "?page=" + str(errors.prev_num) \
4949
if errors.has_prev else None
5050

51-
if request.is_ajax() or request.GET.get('ajax_partial'):
51+
is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
52+
if is_ajax or request.GET.get('ajax_partial'):
5253
table = render_to_string('error_tracker/partials/partial_table.html', {
5354
'errors': errors,
5455
})
@@ -75,7 +76,7 @@ def delete_exception(request, rhash):
7576
:return: redirect back to home page
7677
"""
7778
model.delete_entity(rhash)
78-
return redirect(reverse('view_errors'))
79+
return redirect(reverse('error_tracker:view_errors'))
7980

8081

8182
@require_GET

setup.py

+2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ def grep(attrname):
6969
'Programming Language :: Python :: 3.6',
7070
'Programming Language :: Python :: 3.7',
7171
'Programming Language :: Python :: 3.8',
72+
'Programming Language :: Python :: 3.9',
73+
'Programming Language :: Python :: 3.10',
7274
'Topic :: Software Development :: Libraries :: Python Modules',
7375
]
7476
)
+8-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from django.conf.urls import url, include
1+
from django.urls import path, include
22
from django.contrib import admin
33
from rest_framework import routers
44
from error_tracker.django import urls
@@ -9,11 +9,11 @@
99
router.register(r'users', UserViewSet)
1010

1111
urlpatterns = [
12-
url('admin/', admin.site.urls),
13-
url("dev/", include(urls)),
14-
url(r'^$', views.index),
15-
url(r'^value-error$', views.value_error),
16-
url(r'^post-view$', views.post_view),
17-
url(r'^', include(router.urls)),
18-
url(r'^api-auth/', include('rest_framework.urls'))
12+
path('admin/', admin.site.urls),
13+
path('dev/', include(urls)),
14+
path('', views.index),
15+
path('value-error', views.value_error),
16+
path('post-view', views.post_view),
17+
path('', include(router.urls)),
18+
path('api-auth/', include('rest_framework.urls'))
1919
]

tests/DjangoTest/DjangoTest/urls.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
1. Import the include() function: from django.urls import include, path
1414
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
1515
"""
16-
from django.conf.urls import url, include
16+
from django.urls import path, include
1717
from django.contrib import admin
1818
from error_tracker.django import urls
1919
from core import views
2020

2121
urlpatterns = [
22-
url('admin/', admin.site.urls),
23-
url("dev/", include(urls)),
24-
url(r'^$', views.index),
25-
url(r'^value-error$', views.value_error),
26-
url(r'^post-view$', views.post_view),
22+
path('admin/', admin.site.urls),
23+
path('dev/', include(urls)),
24+
path('', views.index),
25+
path('value-error', views.value_error),
26+
path('post-view', views.post_view),
2727
]

0 commit comments

Comments
 (0)