Skip to content

Commit 56a192d

Browse files
committed
Django 2.0 support
1 parent 8dc0193 commit 56a192d

File tree

16 files changed

+51
-39
lines changed

16 files changed

+51
-39
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build
66
dist
77
*.egg-info
88
example/db.sqlite3
9-
#example/example/migrations*
9+
example/example/migrations*
1010
.DS_Store
1111
.idea
1212
.venv

.travis.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,9 @@ script:
88
- coverage run --source=crudbuilder runtests.py
99
env:
1010
matrix:
11-
- DJANGO="1.8.2"
12-
- DJANGO="1.9.2"
1311
- DJANGO="1.10"
14-
- DJANGO="1.11.7"
15-
16-
matrix:
17-
exclude:
18-
# Django 1.9+ no longer supports python 3.2/3.3
19-
- python: "3.3"
20-
env: DJANGO="1.9.2"
21-
- python: "3.3"
22-
env: DJANGO="1.10"
12+
- DJANGO="1.11.8"
13+
- DJANGO="2.0"
2314

2415
install:
2516
- pip install -q Django==$DJANGO

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Features:
4848

4949
Prerequisites
5050
-------------
51-
- Django 1.8+
51+
- Django 1.10+
5252
- Python 2.7+, 3.3+
5353
- Django Tables2
5454

crudbuilder/helpers.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,3 +195,18 @@ def custom_postfix_url(crud, model):
195195
if not postfix:
196196
postfix = plural(model)
197197
return postfix
198+
199+
200+
def get_urlresolver():
201+
"""Returns apporpriate urlresolver based on django version"""
202+
203+
try:
204+
from django.core import urlresolvers
205+
return urlresolvers
206+
except ImportError:
207+
from django import urls
208+
return urls
209+
210+
211+
reverse_lazy = get_urlresolver().reverse_lazy
212+
reverse = get_urlresolver().reverse

crudbuilder/mixins.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def dispatch(self, request, *args, **kwargs):
3232
settings, 'LOGIN_REQUIRED_FOR_CRUD', False)
3333

3434
if global_login_required or self.login_required:
35-
if not request.user.is_authenticated():
35+
if not request.user.is_authenticated:
3636
return self.handle_login_required(request)
3737

3838
return super(LoginRequiredMixin, self).dispatch(
@@ -80,7 +80,7 @@ def get_context_data(self, **kwargs):
8080
try:
8181
context['exclude'] = self.detailview_excludes
8282
except:
83-
context['exclude'] =None
83+
context['exclude'] = None
8484
context['actual_model_name'] = model.__name__.lower()
8585
context['pluralized_model_name'] = plural(model.__name__.lower())
8686
context['verbose_model_name'] = model._meta.verbose_name

crudbuilder/tests/models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from django.db import models
2+
from django.db.models import CASCADE
23
from django.contrib.auth.models import User
34

45
# User = get_user_model()
@@ -16,4 +17,6 @@ class TestChildModel(models.Model):
1617
TestModel,
1718
blank=True,
1819
null=True,
19-
related_name='children')
20+
related_name='children',
21+
on_delete=CASCADE
22+
)

crudbuilder/tests/test_views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from django.test import TestCase, Client
22
from django.contrib.auth.models import User
33
from django.template import Context, Template
4-
from django.core.urlresolvers import reverse
54
from django.test.utils import override_settings
65

6+
from crudbuilder.helpers import reverse
77
from crudbuilder.tests.models import TestModel
88
from crudbuilder.tests.crud import TestModelCrud, TestChildInlineFormset
99
from crudbuilder.tests.forms import TestModelForm

crudbuilder/views.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from django.core.urlresolvers import reverse_lazy
21
from django.forms.models import modelform_factory
32
from django.views.generic import (
43
DetailView,
@@ -19,7 +18,11 @@
1918
)
2019
from crudbuilder.abstract import BaseBuilder
2120
from crudbuilder.tables import TableBuilder
22-
from crudbuilder.helpers import model_class_form, plural
21+
from crudbuilder.helpers import (
22+
model_class_form,
23+
plural,
24+
reverse_lazy
25+
)
2326

2427

2528
class ViewBuilder(BaseBuilder):

example/example/crud.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class PersonCrud(BaseCrudBuilder):
2727
# custom_table2 = CustomPersonTable
2828

2929
# detailview_excludes = ['img']
30-
inlineformset = PersonEmploymentInlineFormset
30+
# inlineformset = PersonEmploymentInlineFormset
3131

3232
# custom_templates = {
3333
# 'list': 'yourtemplates/template.html'

example/example/migrations/0001_initial.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# -*- coding: utf-8 -*-
2-
# Generated by Django 1.11.4 on 2017-08-03 20:34
3-
from __future__ import unicode_literals
1+
# Generated by Django 2.0 on 2017-12-03 14:31
42

53
from django.conf import settings
64
from django.db import migrations, models

0 commit comments

Comments
 (0)