diff --git a/alplora/urls.py b/alplora/urls.py index 058f5499..8696925d 100644 --- a/alplora/urls.py +++ b/alplora/urls.py @@ -3,6 +3,8 @@ from django.conf.urls import url from .views import IndexView, LoginView, ContactView +app_name = 'alplora' + urlpatterns = [ url(r'^$', IndexView.as_view(), name='index'), url(r'login/', LoginView.as_view(), name='login'), diff --git a/datacenterlight/cms_models.py b/datacenterlight/cms_models.py index d1c5c259..f45a7e61 100644 --- a/datacenterlight/cms_models.py +++ b/datacenterlight/cms_models.py @@ -33,7 +33,7 @@ class CMSIntegration(models.Model): 'datacenterlight_calculator', related_name='dcl-calculator-placeholder+' ) - domain = models.ForeignKey(Site, null=True, blank=True) + domain = models.ForeignKey(Site, null=True, blank=True, on_delete=models.CASCADE) class Meta: unique_together = ('name', 'domain') @@ -43,7 +43,7 @@ class CMSIntegration(models.Model): class CMSFaviconExtension(PageExtension): - favicon = FilerFileField(related_name="cms_favicon_image") + favicon = FilerFileField(related_name="cms_favicon_image", on_delete=models.CASCADE) extension_pool.register(CMSFaviconExtension) @@ -340,6 +340,7 @@ class DCLCalculatorPluginModel(CMSPlugin): related_name="dcl_custom_pricing_vm_pricing", help_text='Choose a pricing that will be associated with this ' 'Calculator' + , on_delete=models.CASCADE ) vm_type = models.CharField( max_length=50, choices=VMTemplate.VM_TYPE_CHOICES, diff --git a/datacenterlight/tasks.py b/datacenterlight/tasks.py index 899b506f..9650af92 100644 --- a/datacenterlight/tasks.py +++ b/datacenterlight/tasks.py @@ -5,7 +5,7 @@ from celery.exceptions import MaxRetriesExceededError from celery.utils.log import get_task_logger from django.conf import settings from django.core.mail import EmailMessage -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils import translation from django.utils.translation import ugettext_lazy as _ diff --git a/datacenterlight/templatetags/custom_tags.py b/datacenterlight/templatetags/custom_tags.py index fc39eec7..7f374039 100644 --- a/datacenterlight/templatetags/custom_tags.py +++ b/datacenterlight/templatetags/custom_tags.py @@ -2,7 +2,7 @@ import datetime import logging from django import template -from django.core.urlresolvers import resolve, reverse +from django.urls import resolve, reverse from django.utils.safestring import mark_safe from django.utils.translation import activate, get_language, ugettext_lazy as _ diff --git a/datacenterlight/urls.py b/datacenterlight/urls.py index 13296de7..6aa56d83 100644 --- a/datacenterlight/urls.py +++ b/datacenterlight/urls.py @@ -7,6 +7,8 @@ from .views import ( WhyDataCenterLightView, ContactUsView ) +app_name = 'datacenterlight' + urlpatterns = [ url(r'^$', IndexView.as_view(), name='index'), url(r'^t/$', IndexView.as_view(), name='index_t'), diff --git a/datacenterlight/views.py b/datacenterlight/views.py index c708ff6a..7a5a3cd9 100644 --- a/datacenterlight/views.py +++ b/datacenterlight/views.py @@ -7,7 +7,7 @@ from django.conf import settings from django.contrib import messages from django.contrib.auth import login, authenticate from django.core.exceptions import ValidationError -from django.core.urlresolvers import reverse +from django.urls import reverse from django.http import ( HttpResponseRedirect, JsonResponse, Http404, HttpResponse ) diff --git a/digitalglarus/admin.py b/digitalglarus/admin.py index c887e8d2..cd419d09 100644 --- a/digitalglarus/admin.py +++ b/digitalglarus/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from .models import DGGallery, DGPicture, Booking, BookingPrice,\ MembershipOrder, Membership, MembershipType, BookingOrder, BookingCancellation -from django.core.urlresolvers import reverse +from django.urls import reverse from utils.models import ContactMessage from django.utils.html import format_html diff --git a/digitalglarus/mixins.py b/digitalglarus/mixins.py index 18a02239..55372701 100644 --- a/digitalglarus/mixins.py +++ b/digitalglarus/mixins.py @@ -1,4 +1,4 @@ -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic import UpdateView from django.db import models @@ -33,9 +33,9 @@ class IsNotMemberMixin(object): class Ordereable(models.Model): - customer = models.ForeignKey(StripeCustomer) + customer = models.ForeignKey(StripeCustomer, on_delete=models.CASCADE) amount = models.FloatField() - billing_address = models.ForeignKey(BillingAddress) + billing_address = models.ForeignKey(BillingAddress, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) approved = models.BooleanField(default=False) last4 = models.CharField(max_length=4, blank=True) diff --git a/digitalglarus/models.py b/digitalglarus/models.py index fc4289aa..951f545d 100644 --- a/digitalglarus/models.py +++ b/digitalglarus/models.py @@ -7,7 +7,7 @@ from django.db import models from django.db.models import Q from cms.models import CMSPlugin from filer.fields.image import FilerImageField -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.functional import cached_property from .mixins import Ordereable @@ -72,7 +72,7 @@ class MembershipType(models.Model): class Membership(models.Model): - type = models.ForeignKey(MembershipType) + type = models.ForeignKey(MembershipType, on_delete=models.CASCADE) active = models.BooleanField(default=True) start_date = models.DateField() end_date = models.DateField() @@ -141,7 +141,7 @@ class Membership(models.Model): class MembershipOrder(Ordereable, models.Model): - membership = models.ForeignKey(Membership) + membership = models.ForeignKey(Membership, on_delete=models.CASCADE) start_date = models.DateField() end_date = models.DateField() stripe_subscription_id = models.CharField(max_length=100, null=True) @@ -268,7 +268,7 @@ class BookingOrder(Ordereable, models.Model): (CANCELLED, 'Cancelled') ) - booking = models.OneToOneField(Booking) + booking = models.OneToOneField(Booking, on_delete=models.CASCADE) original_price = models.FloatField() special_month_price = models.FloatField() status = models.PositiveIntegerField(choices=STATUS_CHOICES, default=1) @@ -297,7 +297,7 @@ class BookingOrder(Ordereable, models.Model): class BookingCancellation(models.Model): - order = models.ForeignKey(BookingOrder) + order = models.ForeignKey(BookingOrder, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now=True) required_refund = models.BooleanField(default=True) refund = models.BooleanField(default=False) @@ -323,7 +323,7 @@ class Supporter(models.Model): class DGGallery(models.Model): - parent = models.ForeignKey('self', blank=True, null=True) + parent = models.ForeignKey('self', blank=True, null=True, on_delete=models.CASCADE) name = models.CharField(max_length=30) def __str__(self): @@ -337,8 +337,8 @@ class DGGallery(models.Model): class DGPicture(models.Model): - gallery = models.ForeignKey(DGGallery) - image = FilerImageField(related_name='dg_gallery') + gallery = models.ForeignKey(DGGallery, on_delete=models.CASCADE) + image = FilerImageField(related_name='dg_gallery', on_delete=models.CASCADE) description = models.CharField(max_length=60) def __str__(self): @@ -346,7 +346,7 @@ class DGPicture(models.Model): class DGGalleryPlugin(CMSPlugin): - dgGallery = models.ForeignKey(DGGallery) + dgGallery = models.ForeignKey(DGGallery, on_delete=models.CASCADE) class DGSupportersPlugin(CMSPlugin): diff --git a/digitalglarus/test_views.py b/digitalglarus/test_views.py index aff11081..db1d03b2 100644 --- a/digitalglarus/test_views.py +++ b/digitalglarus/test_views.py @@ -3,8 +3,8 @@ from unittest import mock, skipIf from django.test import TestCase from django.conf import settings -from django.core.urlresolvers import reverse -from django.core.urlresolvers import resolve +from django.urls import reverse +from django.urls import resolve from cms.test_utils.testcases import CMSTestCase from django.contrib.auth.tokens import default_token_generator from django.utils.http import urlsafe_base64_encode diff --git a/digitalglarus/urls.py b/digitalglarus/urls.py index 64a63303..f3bba898 100644 --- a/digitalglarus/urls.py +++ b/digitalglarus/urls.py @@ -13,6 +13,8 @@ from .views import ContactView, IndexView, HistoryView, LoginView, SignupView,\ # from membership.views import LoginRegistrationView +app_name = 'digitalglarus' + urlpatterns = [ url(_(r'booking/payment/edit/?$'), EditCreditCardView.as_view(), name='edit_credit_card'), @@ -22,8 +24,8 @@ urlpatterns = [ url(_(r'contact/?$'), ContactView.as_view(), name='contact'), url(_(r'login/?$'), LoginView.as_view(), name='login'), url(_(r'signup/?$'), SignupView.as_view(), name='signup'), - url(r'^logout/?$', auth_views.logout, - {'next_page': '/digitalglarus/login?logged_out=true'}, name='logout'), + url(r'^logout/?$', auth_views.LogoutView.as_view( + next_page='/digitalglarus/login?logged_out=true'), name='logout'), url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), url(r'reset-password-confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', PasswordResetConfirmView.as_view(), name='reset_password_confirm'), diff --git a/digitalglarus/views.py b/digitalglarus/views.py index bf3ed2c6..3603dd55 100644 --- a/digitalglarus/views.py +++ b/digitalglarus/views.py @@ -3,7 +3,7 @@ import logging from django.conf import settings from django.shortcuts import render from django.http import HttpResponseRedirect, Http404 -from django.core.urlresolvers import reverse_lazy, reverse +from django.urls import reverse_lazy, reverse from django.utils.translation import ugettext_lazy as _ from django.views.generic import TemplateView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin diff --git a/dynamicweb/urls.py b/dynamicweb/urls.py index b9a02981..9dd257c5 100644 --- a/dynamicweb/urls.py +++ b/dynamicweb/urls.py @@ -15,7 +15,7 @@ from webhook import views as webhook_views from membership import urls as membership_urls from ungleich_page.views import LandingView from django.views.generic import RedirectView -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy import debug_toolbar urlpatterns = [ @@ -30,7 +30,7 @@ urlpatterns = [ name="django.hosting"), url(r'^nosystemd/', include('nosystemd.urls', namespace="nosystemd")), url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')), - url(r'^jsi18n/(?P\S+?)/$', i18n.javascript_catalog), + url(r'^jsi18n/(?P\S+?)/$', i18n.JavaScriptCatalog.as_view()), url(r'^product/(?P[\w-]+)/$', PaymentOrderView.as_view(), name='show_product'), @@ -51,7 +51,7 @@ def home_view(request, *args, **kwargs): urlpatterns += i18n_patterns( - url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls), url(r'^datacenterlight/', include('datacenterlight.urls', namespace="datacenterlight")), url(r'^hosting/', RedirectView.as_view(url=reverse_lazy('hosting:login')), diff --git a/dynamicweb/urls_multi.py b/dynamicweb/urls_multi.py index ffe59db5..44fc57c5 100644 --- a/dynamicweb/urls_multi.py +++ b/dynamicweb/urls_multi.py @@ -6,7 +6,7 @@ from django.views import static as static_view from django.views.generic import RedirectView urlpatterns = i18n_patterns( - url(r'^admin/', include(admin.site.urls)), + url(r'^admin/', admin.site.urls), url(r'^cms/', include('cms.urls')), url(r'^$', RedirectView.as_view(url='/cms')), ) diff --git a/hosting/mixins.py b/hosting/mixins.py index 5fb83383..dfb010cf 100644 --- a/hosting/mixins.py +++ b/hosting/mixins.py @@ -1,6 +1,6 @@ from django.shortcuts import redirect from django.conf import settings -from django.core.urlresolvers import reverse +from django.urls import reverse from opennebula_api.serializers import VirtualMachineTemplateSerializer from opennebula_api.models import OpenNebulaManager diff --git a/hosting/test_views.py b/hosting/test_views.py index 324aa4fa..60f87a5b 100644 --- a/hosting/test_views.py +++ b/hosting/test_views.py @@ -1,7 +1,7 @@ from django.conf import settings from django.test import TestCase -from django.core.urlresolvers import reverse -from django.core.urlresolvers import resolve +from django.urls import reverse +from django.urls import resolve from django.contrib.auth.tokens import default_token_generator from django.utils.http import urlsafe_base64_encode from django.utils.encoding import force_bytes diff --git a/hosting/urls.py b/hosting/urls.py index e34d27d6..c7437460 100644 --- a/hosting/urls.py +++ b/hosting/urls.py @@ -14,6 +14,8 @@ from .views import ( InvoiceListView, InvoiceDetailView, CheckUserVM ) +app_name = 'hosting' + urlpatterns = [ url(r'index/?$', IndexView.as_view(), name='index'), url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'), @@ -69,8 +71,8 @@ urlpatterns = [ name='reset_password'), url(r'reset-password-confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', PasswordResetConfirmView.as_view(), name='reset_password_confirm'), - url(r'^logout/?$', auth_views.logout, - {'next_page': '/hosting/login?logged_out=true'}, name='logout'), + url(r'^logout/?$', auth_views.LogoutView.as_view( + next_page='/hosting/login?logged_out=true'), name='logout'), url(r'^validate/(?P.*)/$', SignupValidatedView.as_view(), name='validate') ] diff --git a/hosting/views.py b/hosting/views.py index c2470707..5f982157 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -13,7 +13,7 @@ from django.contrib.auth.tokens import default_token_generator from django.core.exceptions import ValidationError from django.core.files.base import ContentFile from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.core.urlresolvers import reverse_lazy, reverse +from django.urls import reverse_lazy, reverse from django.db.models import Q from django.http import ( Http404, HttpResponseRedirect, HttpResponse, JsonResponse diff --git a/membership/migrations/0001_initial.py b/membership/migrations/0001_initial.py index 1704515c..8202c46c 100644 --- a/membership/migrations/0001_initial.py +++ b/membership/migrations/0001_initial.py @@ -36,7 +36,7 @@ class Migration(migrations.Migration): ('expiry_date', models.CharField(validators=[django.core.validators.RegexValidator('\\d{2}\\/\\d{4}', 'Use this pattern(MM/YYYY).')], max_length=50)), ('ccv', models.CharField(validators=[django.core.validators.RegexValidator('\\d{3,4}', 'Wrong CCV number.')], max_length=4)), ('payment_type', models.CharField(max_length=5, default='N')), - ('user_id', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ('user_id', models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)), ], ), ] diff --git a/membership/models.py b/membership/models.py index abf30467..600aae4d 100644 --- a/membership/models.py +++ b/membership/models.py @@ -8,7 +8,7 @@ from django.contrib.auth.hashers import make_password from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, \ PermissionsMixin from django.contrib.sites.models import Site -from django.core.urlresolvers import reverse +from django.urls import reverse from django.core.validators import RegexValidator from django.db import models, IntegrityError from django.utils.crypto import get_random_string @@ -113,7 +113,7 @@ def validate_name(value): class CustomUser(AbstractBaseUser, PermissionsMixin): VALIDATED_CHOICES = ((0, 'Not validated'), (1, 'Validated')) - site = models.ForeignKey(Site, default=1) + site = models.ForeignKey(Site, default=1, on_delete=models.CASCADE) name = models.CharField(max_length=50, validators=[validate_name]) email = models.EmailField(unique=True) username = models.CharField(max_length=60, unique=True, null=True) @@ -267,7 +267,7 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): class StripeCustomer(models.Model): - user = models.OneToOneField(CustomUser) + user = models.OneToOneField(CustomUser, on_delete=models.CASCADE) stripe_id = models.CharField(unique=True, max_length=100) def __str__(self): @@ -359,7 +359,7 @@ class DeletedUser(models.Model): class Calendar(models.Model): datebooked = models.DateField() - user = models.ForeignKey(CustomUser) + user = models.ForeignKey(CustomUser, on_delete=models.CASCADE) def __init__(self, *args, **kwargs): if kwargs.get('datebooked'): diff --git a/membership/tests.py b/membership/tests.py index 4b36fe4c..04a3bfdf 100644 --- a/membership/tests.py +++ b/membership/tests.py @@ -1,7 +1,7 @@ # import re # from django.test import TestCase -# from django.core.urlresolvers import reverse +# from django.urls import reverse # from django.core import mail diff --git a/nosystemd/admin.py b/nosystemd/admin.py index b07cea8c..93a912fc 100644 --- a/nosystemd/admin.py +++ b/nosystemd/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin from django.utils.html import format_html -from django.core.urlresolvers import reverse +from django.urls import reverse from .models import Donation diff --git a/nosystemd/models.py b/nosystemd/models.py index 76d8ca40..db7ba9ce 100644 --- a/nosystemd/models.py +++ b/nosystemd/models.py @@ -11,7 +11,7 @@ class DonatorStatus(models.Model): (ACTIVE, 'Active'), (CANCELED, 'Canceled') ) - user = models.OneToOneField(CustomUser) + user = models.OneToOneField(CustomUser, on_delete=models.CASCADE) status = models.CharField(choices=STATUS_CHOICES, max_length=10, default=ACTIVE) def __str__(self): @@ -29,9 +29,9 @@ class DonatorStatus(models.Model): class Donation(models.Model): donation = models.FloatField() - donator = models.ForeignKey(StripeCustomer) + donator = models.ForeignKey(StripeCustomer, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) - billing_address = models.ForeignKey(BillingAddress) + billing_address = models.ForeignKey(BillingAddress, on_delete=models.CASCADE) last4 = models.CharField(max_length=4) cc_brand = models.CharField(max_length=10) stripe_charge_id = models.CharField(max_length=100, null=True) diff --git a/nosystemd/urls.py b/nosystemd/urls.py index 7c3965f8..7a9395ec 100644 --- a/nosystemd/urls.py +++ b/nosystemd/urls.py @@ -5,12 +5,14 @@ from .views import LandingView, LoginView, SignupView, PasswordResetView,\ PasswordResetConfirmView, DonationView, DonationDetailView, ChangeDonatorStatusDetailView,\ DonatorStatusDetailView, DonationListView +app_name = 'nosystemd' + urlpatterns = [ url(r'^$', LandingView.as_view(), name='landing'), url(r'^login/?$', LoginView.as_view(), name='login'), url(r'^signup/?$', SignupView.as_view(), name='signup'), - url(r'^logout/?$', auth_views.logout, - {'next_page': '/nosystemd/login?logged_out=true'}, name='logout'), + url(r'^logout/?$', auth_views.LogoutView.as_view( + next_page='/nosystemd/login?logged_out=true'), name='logout'), url(r'reset-password/?$', PasswordResetView.as_view(), name='reset_password'), url(r'reset-password-confirm/(?P[0-9A-Za-z]+)-(?P.+)/$', PasswordResetConfirmView.as_view(), name='reset_password_confirm'), diff --git a/nosystemd/views.py b/nosystemd/views.py index cca19e8d..7f6e0fc7 100644 --- a/nosystemd/views.py +++ b/nosystemd/views.py @@ -2,7 +2,7 @@ from django.views.generic import TemplateView, FormView, DetailView, UpdateView, ListView from django.http import HttpResponseRedirect from django.shortcuts import render -from django.core.urlresolvers import reverse_lazy, reverse +from django.urls import reverse_lazy, reverse from django.contrib.auth.mixins import LoginRequiredMixin from django.conf import settings from django.contrib import messages diff --git a/opennebula_api/urls.py b/opennebula_api/urls.py index 87976e2e..4fd002f5 100644 --- a/opennebula_api/urls.py +++ b/opennebula_api/urls.py @@ -2,6 +2,8 @@ from django.conf.urls import url, include from rest_framework.urlpatterns import format_suffix_patterns from .views import VmCreateView, VmDetailsView +app_name = 'opennebula_api' + urlpatterns = { url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')), diff --git a/ungleich/migrations/0001_initial.py b/ungleich/migrations/0001_initial.py index 1672c3cc..96093191 100644 --- a/ungleich/migrations/0001_initial.py +++ b/ungleich/migrations/0001_initial.py @@ -16,8 +16,8 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), ('image_header', models.ImageField(upload_to='image_header')), - ('extended_object', models.OneToOneField(editable=False, to='cms.Page')), - ('public_extension', models.OneToOneField(editable=False, related_name='draft_extension', null=True, to='ungleich.UngleichPage')), + ('extended_object', models.OneToOneField(editable=False, to='cms.Page', on_delete=models.CASCADE)), + ('public_extension', models.OneToOneField(editable=False, related_name='draft_extension', null=True, to='ungleich.UngleichPage', on_delete=models.CASCADE)), ], options={ 'abstract': False, diff --git a/ungleich/migrations/0002_ungleichpage_image.py b/ungleich/migrations/0002_ungleichpage_image.py index 44a6be64..b816171b 100644 --- a/ungleich/migrations/0002_ungleichpage_image.py +++ b/ungleich/migrations/0002_ungleichpage_image.py @@ -15,7 +15,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='ungleichpage', name='image', - field=filer.fields.image.FilerImageField(null=True, related_name='ungleinch_page_image', to='filer.Image', blank=True), + field=filer.fields.image.FilerImageField(null=True, related_name='ungleinch_page_image', to='filer.Image', blank=True, on_delete=models.CASCADE), preserve_default=True, ), ] diff --git a/ungleich/models.py b/ungleich/models.py index 194fdfef..cb5001bd 100644 --- a/ungleich/models.py +++ b/ungleich/models.py @@ -1,3 +1,4 @@ +from django.db import models from cms.extensions import PageExtension from cms.extensions.extension_pool import extension_pool from filer.fields.image import FilerImageField @@ -9,7 +10,7 @@ from filer.fields.image import FilerImageField class UngleichPage(PageExtension): # image_header = models.ImageField(upload_to='image_header') image = FilerImageField(null=True, blank=True, - related_name="ungleinch_page_image") + related_name="ungleinch_page_image", on_delete=models.CASCADE) class Meta: app_label = 'ungleich' diff --git a/ungleich/test_views.py b/ungleich/test_views.py index 17130857..d766562d 100644 --- a/ungleich/test_views.py +++ b/ungleich/test_views.py @@ -1,7 +1,7 @@ from utils.tests import BaseTestCase from django.conf import settings -from django.core.urlresolvers import reverse -from django.core.urlresolvers import resolve +from django.urls import reverse +from django.urls import resolve from django.utils.translation import get_language from django.utils.translation import activate from djangocms_blog.settings import get_setting diff --git a/ungleich/urls.py b/ungleich/urls.py index e833f03d..0991b97d 100644 --- a/ungleich/urls.py +++ b/ungleich/urls.py @@ -2,6 +2,8 @@ from django.conf.urls import url from . import views from .views import PostDetailViewUngleich +app_name = 'ungleich' + urlpatterns = [ url(r'^$', views.PostListViewUngleich.as_view(), name="post-list"), # url(r'^$',views.PostListView.as_view()), diff --git a/ungleich_page/test_views.py b/ungleich_page/test_views.py index d67708bd..0fb238cb 100644 --- a/ungleich_page/test_views.py +++ b/ungleich_page/test_views.py @@ -1,6 +1,6 @@ from django.test import TestCase -from django.core.urlresolvers import reverse -from django.core.urlresolvers import resolve +from django.urls import reverse +from django.urls import resolve class ContactViewTest(TestCase): diff --git a/ungleich_page/urls.py b/ungleich_page/urls.py index 607b7042..9f13f9b2 100644 --- a/ungleich_page/urls.py +++ b/ungleich_page/urls.py @@ -2,6 +2,8 @@ from django.conf.urls import url from .views import ContactView, LandingView from django.utils.translation import ugettext_lazy as _ +app_name = 'ungleich_page' + urlpatterns = [ url(r'^$', LandingView.as_view(), name='landing'), # url(r'^ungleich_page/?$', LandingView.as_view(), name='landing'), diff --git a/ungleich_page/views.py b/ungleich_page/views.py index 01d1138d..a7864675 100644 --- a/ungleich_page/views.py +++ b/ungleich_page/views.py @@ -2,7 +2,7 @@ from django.contrib import messages from django.views.generic.edit import FormView from django.utils.translation import ugettext_lazy as _ -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django.views.generic import View from django.shortcuts import render diff --git a/utils/models.py b/utils/models.py index 9e643707..98882c52 100644 --- a/utils/models.py +++ b/utils/models.py @@ -40,7 +40,7 @@ class BillingAddress(BaseBillingAddress): class UserBillingAddress(BaseBillingAddress): - user = models.ForeignKey(CustomUser, related_name='billing_addresses') + user = models.ForeignKey(CustomUser, related_name='billing_addresses', on_delete=models.CASCADE) current = models.BooleanField(default=True) def __str__(self): diff --git a/utils/views.py b/utils/views.py index f30a349a..fc851c18 100644 --- a/utils/views.py +++ b/utils/views.py @@ -5,7 +5,7 @@ from django.contrib import messages from django.contrib.auth import authenticate, login from django.contrib.auth.tokens import default_token_generator from django.core.files.base import ContentFile -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse_lazy from django.http import HttpResponseRedirect from django.shortcuts import render from django.utils.encoding import force_bytes