March 2020
Intermediate to advanced
608 pages
17h 17m
English
Execute the following steps, one by one:
# myproject/apps/core/models.pyfrom urllib.parse import urlparse, urlunparsefrom django.conf import settingsfrom django.db import modelsclass UrlBase(models.Model): """ A replacement for get_absolute_url() Models extending this mixin should have either get_url or get_url_path implemented. """ class Meta: abstract = True def get_url(self): if hasattr(self.get_url_path, "dont_recurse"): raise NotImplementedError try: path = self.get_url_path() except NotImplementedError: raise return settings.WEBSITE_URL + path get_url.dont_recurse = True def get_url_path(self): if hasattr(self.get_url, "dont_recurse"): raise NotImplementedError ...