Python django.core.exceptions.ImproperlyConfigured() Examples
The following are 30
code examples of django.core.exceptions.ImproperlyConfigured().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.core.exceptions
, or try the search function
.
Example #1
Source File: utils.py From django-oauth-toolkit-jwt with MIT License | 7 votes |
def encode_jwt(payload, headers=None): """ :type payload: dict :type headers: dict, None :rtype: str """ # RS256 in default, because hardcoded legacy algorithm = getattr(settings, 'JWT_ENC_ALGORITHM', 'RS256') private_key_name = 'JWT_PRIVATE_KEY_{}'.format(payload['iss'].upper()) private_key = getattr(settings, private_key_name, None) if not private_key: raise ImproperlyConfigured('Missing setting {}'.format( private_key_name)) encoded = jwt.encode(payload, private_key, algorithm=algorithm, headers=headers) return encoded.decode("utf-8")
Example #2
Source File: utils.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def load_backend(backend_name): # Look for a fully qualified database backend name try: return import_module('%s.base' % backend_name) except ImportError as e_user: # The database backend wasn't found. Display a helpful error message # listing all possible (built-in) database backends. backend_dir = os.path.join(os.path.dirname(upath(__file__)), 'backends') try: builtin_backends = [ name for _, name, ispkg in pkgutil.iter_modules([backend_dir]) if ispkg and name != 'dummy'] except EnvironmentError: builtin_backends = [] if backend_name not in ['django.db.backends.%s' % b for b in builtin_backends]: backend_reprs = map(repr, sorted(builtin_backends)) error_msg = ("%r isn't an available database backend.\n" "Try using 'django.db.backends.XXX', where XXX " "is one of:\n %s\nError was: %s" % (backend_name, ", ".join(backend_reprs), e_user)) raise ImproperlyConfigured(error_msg) else: # If there's some other error, this must be an error in Django raise
Example #3
Source File: base.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_connection_params(self): settings_dict = self.settings_dict # None may be used to connect to the default 'postgres' db if settings_dict['NAME'] == '': from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured( "settings.DATABASES is improperly configured. " "Please supply the NAME value.") conn_params = { 'database': settings_dict['NAME'] or 'postgres', } conn_params.update(settings_dict['OPTIONS']) conn_params.pop('isolation_level', None) if settings_dict['USER']: conn_params['user'] = settings_dict['USER'] if settings_dict['PASSWORD']: conn_params['password'] = force_str(settings_dict['PASSWORD']) if settings_dict['HOST']: conn_params['host'] = settings_dict['HOST'] if settings_dict['PORT']: conn_params['port'] = settings_dict['PORT'] return conn_params
Example #4
Source File: detail.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_queryset(self): """ Return the `QuerySet` that will be used to look up the object. Note that this method is called by the default implementation of `get_object` and may not be called if `get_object` is overridden. """ if self.queryset is None: if self.model: return self.model._default_manager.all() else: raise ImproperlyConfigured( "%(cls)s is missing a QuerySet. Define " "%(cls)s.model, %(cls)s.queryset, or override " "%(cls)s.get_queryset()." % { 'cls': self.__class__.__name__ } ) return self.queryset.all()
Example #5
Source File: models.py From normandy with Mozilla Public License 2.0 | 6 votes |
def update_signature(self): try: autographer = Autographer() except ImproperlyConfigured: self.signature = None return logger.info( f"Requesting signature for action named {self.name} from Autograph", extra={"code": INFO_REQUESTING_ACTION_SIGNATURES, "action_names": [self.name]}, ) signature_data = autographer.sign_data([self.canonical_json()])[0] signature = Signature(**signature_data) signature.save() self.signature = signature
Example #6
Source File: models.py From normandy with Mozilla Public License 2.0 | 6 votes |
def update_signature(self): try: autographer = Autographer() except ImproperlyConfigured: self.signature = None return # Don't sign recipe that aren't enabled if not (self.approved_revision and self.approved_revision.enabled): return logger.info( f"Requesting signature for recipe with id {self.id} from Autograph", extra={"code": INFO_REQUESTING_RECIPE_SIGNATURES, "recipe_ids": [self.id]}, ) signature_data = autographer.sign_data([self.canonical_json()])[0] signature = Signature(**signature_data) signature.save() self.signature = signature
Example #7
Source File: models.py From django-usersettings2 with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_current(self): """ Returns the current ``UserSettings`` based on the SITE_ID in the project's settings. The ``UserSettings`` object is cached the first time it's retrieved from the database. """ from django.conf import settings try: site_id = settings.SITE_ID except AttributeError: raise ImproperlyConfigured( 'You\'re using the Django "sites framework" without having ' 'set the SITE_ID setting. Create a site in your database and ' 'set the SITE_ID setting to fix this error.') try: current_usersettings = USERSETTINGS_CACHE[site_id] except KeyError: current_usersettings = self.get(site_id=site_id) USERSETTINGS_CACHE[site_id] = current_usersettings return current_usersettings
Example #8
Source File: shortcuts.py From django-usersettings2 with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_usersettings_model(): """ Returns the ``UserSettings`` model that is active in this project. """ try: from django.apps import apps get_model = apps.get_model except ImportError: from django.db.models.loading import get_model try: app_label, model_name = settings.USERSETTINGS_MODEL.split('.') except ValueError: raise ImproperlyConfigured('USERSETTINGS_MODEL must be of the ' 'form "app_label.model_name"') usersettings_model = get_model(app_label, model_name) if usersettings_model is None: raise ImproperlyConfigured('USERSETTINGS_MODEL refers to model "%s" that has ' 'not been installed' % settings.USERSETTINGS_MODEL) return usersettings_model
Example #9
Source File: checks.py From normandy with Mozilla Public License 2.0 | 6 votes |
def actions_have_consistent_hashes(app_configs, **kwargs): errors = [] try: Action = apps.get_model("recipes", "Action") actions = list(Action.objects.filter(implementation__isnull=False)) except (ProgrammingError, OperationalError, ImproperlyConfigured) as e: errors.append(Info(f"Could not retrieve actions: {e}", id=INFO_COULD_NOT_RETRIEVE_ACTIONS)) else: for action in actions: if action.compute_implementation_hash() != action.implementation_hash: msg = "Action '{action}' (id={action.id}) has a mismatched hash".format( action=action ) errors.append(Error(msg, id=ERROR_MISMATCHED_ACTION_HASH)) return errors
Example #10
Source File: base.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def _setup_environment(environ): # Cygwin requires some special voodoo to set the environment variables # properly so that Oracle will see them. if platform.system().upper().startswith('CYGWIN'): try: import ctypes except ImportError as e: from django.core.exceptions import ImproperlyConfigured raise ImproperlyConfigured("Error loading ctypes: %s; " "the Oracle backend requires ctypes to " "operate correctly under Cygwin." % e) kernel32 = ctypes.CDLL('kernel32') for name, value in environ: kernel32.SetEnvironmentVariableA(name, value) else: os.environ.update(environ)
Example #11
Source File: services.py From django-phone-verify with GNU General Public License v3.0 | 6 votes |
def _check_required_settings(self): required_settings = { "BACKEND", "OPTIONS", "TOKEN_LENGTH", "MESSAGE", "APP_NAME", "SECURITY_CODE_EXPIRATION_TIME", "VERIFY_SECURITY_CODE_ONLY_ONCE", } user_settings = set(settings.PHONE_VERIFICATION.keys()) if not required_settings.issubset(user_settings): raise ImproperlyConfigured( "Please specify following settings in settings.py: {}".format( ", ".join(required_settings - user_settings) ) )
Example #12
Source File: list.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_template_names(self): """ Return a list of template names to be used for the request. Must return a list. May not be called if render_to_response is overridden. """ try: names = super(MultipleObjectTemplateResponseMixin, self).get_template_names() except ImproperlyConfigured: # If template_name isn't specified, it's not a problem -- # we just start with an empty list. names = [] # If the list is a queryset, we'll invent a template name based on the # app and model name. This name gets put at the end of the template # name list so that user-supplied names override the automatically- # generated ones. if hasattr(self.object_list, 'model'): opts = self.object_list.model._meta names.append("%s/%s%s.html" % (opts.app_label, opts.model_name, self.template_name_suffix)) return names
Example #13
Source File: module_loading.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def import_by_path(dotted_path, error_prefix=''): """ Import a dotted module path and return the attribute/class designated by the last name in the path. Raise ImproperlyConfigured if something goes wrong. """ warnings.warn( 'import_by_path() has been deprecated. Use import_string() instead.', RemovedInDjango19Warning, stacklevel=2) try: attr = import_string(dotted_path) except ImportError as e: msg = '%sError importing module %s: "%s"' % ( error_prefix, dotted_path, e) six.reraise(ImproperlyConfigured, ImproperlyConfigured(msg), sys.exc_info()[2]) return attr
Example #14
Source File: edit.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_success_url(self): """ Returns the supplied URL. """ if self.success_url: # force_text can be removed with deprecation warning self.success_url = force_text(self.success_url) if PERCENT_PLACEHOLDER_REGEX.search(self.success_url): warnings.warn( "%()s placeholder style in success_url is deprecated. " "Please replace them by the {} Python format syntax.", RemovedInDjango110Warning, stacklevel=2 ) url = self.success_url % self.object.__dict__ else: url = self.success_url.format(**self.object.__dict__) else: try: url = self.object.get_absolute_url() except AttributeError: raise ImproperlyConfigured( "No URL to redirect to. Either provide a url or define" " a get_absolute_url method on the Model.") return url
Example #15
Source File: urls.py From polls-api with MIT License | 6 votes |
def healthcheck_view(request): content_type = 'application/health+json' database_accessible = True try: connections['default'].cursor() except ImproperlyConfigured: # Database is not configured (DATABASE_URL may not be set) database_accessible = False except OperationalError: # Database is not accessible database_accessible = False if database_accessible: return JsonResponse({ 'status': 'ok' }, content_type=content_type) return JsonResponse({ 'status': 'fail' }, status=503, content_type=content_type)
Example #16
Source File: edit.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_success_url(self): if self.success_url: # force_text can be removed with deprecation warning self.success_url = force_text(self.success_url) if PERCENT_PLACEHOLDER_REGEX.search(self.success_url): warnings.warn( "%()s placeholder style in success_url is deprecated. " "Please replace them by the {} Python format syntax.", RemovedInDjango110Warning, stacklevel=2 ) return self.success_url % self.object.__dict__ else: return self.success_url.format(**self.object.__dict__) else: raise ImproperlyConfigured( "No URL to redirect to. Provide a success_url.")
Example #17
Source File: sites.py From StormOnline with Apache License 2.0 | 6 votes |
def check_dependencies(self): """ Check that all things needed to run the admin have been correctly installed. The default implementation checks that LogEntry, ContentType and the auth context processor are installed. """ from django.contrib.contenttypes.models import ContentType if not ContentType._meta.installed: raise ImproperlyConfigured("Put 'django.contrib.contenttypes' in " "your INSTALLED_APPS setting in order to use the admin application.") default_template_engine = Engine.get_default() if not ('django.contrib.auth.context_processors.auth' in default_template_engine.context_processors or 'django.core.context_processors.auth' in default_template_engine.context_processors): raise ImproperlyConfigured("Put 'django.contrib.auth.context_processors.auth' " "in your TEMPLATE_CONTEXT_PROCESSORS setting in order to use the admin application.")
Example #18
Source File: __init__.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def ping_google(sitemap_url=None, ping_url=PING_URL): """ Alerts Google that the sitemap for the current site has been updated. If sitemap_url is provided, it should be an absolute path to the sitemap for this site -- e.g., '/sitemap.xml'. If sitemap_url is not provided, this function will attempt to deduce it by using urlresolvers.reverse(). """ if sitemap_url is None: try: # First, try to get the "index" sitemap URL. sitemap_url = urlresolvers.reverse('django.contrib.sitemaps.views.index') except urlresolvers.NoReverseMatch: try: # Next, try for the "global" sitemap URL. sitemap_url = urlresolvers.reverse('django.contrib.sitemaps.views.sitemap') except urlresolvers.NoReverseMatch: pass if sitemap_url is None: raise SitemapNotFound("You didn't provide a sitemap_url, and the sitemap URL couldn't be auto-detected.") if not django_apps.is_installed('django.contrib.sites'): raise ImproperlyConfigured("ping_google requires django.contrib.sites, which isn't installed.") Site = django_apps.get_model('sites.Site') current_site = Site.objects.get_current() url = "http://%s%s" % (current_site.domain, sitemap_url) params = urlencode({'sitemap': url}) urlopen("%s?%s" % (ping_url, params))
Example #19
Source File: runner.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def dependency_ordered(test_databases, dependencies): """ Reorder test_databases into an order that honors the dependencies described in TEST[DEPENDENCIES]. """ ordered_test_databases = [] resolved_databases = set() # Maps db signature to dependencies of all it's aliases dependencies_map = {} # sanity check - no DB can depend on its own alias for sig, (_, aliases) in test_databases: all_deps = set() for alias in aliases: all_deps.update(dependencies.get(alias, [])) if not all_deps.isdisjoint(aliases): raise ImproperlyConfigured( "Circular dependency: databases %r depend on each other, " "but are aliases." % aliases) dependencies_map[sig] = all_deps while test_databases: changed = False deferred = [] # Try to find a DB that has all it's dependencies met for signature, (db_name, aliases) in test_databases: if dependencies_map[signature].issubset(resolved_databases): resolved_databases.update(aliases) ordered_test_databases.append((signature, (db_name, aliases))) changed = True else: deferred.append((signature, (db_name, aliases))) if not changed: raise ImproperlyConfigured( "Circular dependency in TEST[DEPENDENCIES]") test_databases = deferred return ordered_test_databases
Example #20
Source File: views.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def item_link(self, item): try: return item.get_absolute_url() except AttributeError: raise ImproperlyConfigured( 'Give your %s class a get_absolute_url() method, or define an ' 'item_link() method in your Feed class.' % item.__class__.__name__ )
Example #21
Source File: utils.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def databases(self): if self._databases is None: self._databases = settings.DATABASES if self._databases == {}: self._databases = { DEFAULT_DB_ALIAS: { 'ENGINE': 'django.db.backends.dummy', }, } if DEFAULT_DB_ALIAS not in self._databases: raise ImproperlyConfigured("You must define a '%s' database" % DEFAULT_DB_ALIAS) return self._databases
Example #22
Source File: edit.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def get_form_class(self): """ Returns the form class to use in this view. """ if self.fields is not None and self.form_class: raise ImproperlyConfigured( "Specifying both 'fields' and 'form_class' is not permitted." ) if self.form_class: return self.form_class else: if self.model is not None: # If a model has been explicitly provided, use it model = self.model elif hasattr(self, 'object') and self.object is not None: # If this view is operating on a single object, use # the class of that object model = self.object.__class__ else: # Try to get a queryset and extract the model class # from that model = self.get_queryset().model if self.fields is None: raise ImproperlyConfigured( "Using ModelFormMixin (base class of %s) without " "the 'fields' attribute is prohibited." % self.__class__.__name__ ) return model_forms.modelform_factory(model, fields=self.fields)
Example #23
Source File: base.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def get_template_names(self): """ Returns a list of template names to be used for the request. Must return a list. May not be called if render_to_response is overridden. """ if self.template_name is None: raise ImproperlyConfigured( "TemplateResponseMixin requires either a definition of " "'template_name' or an implementation of 'get_template_names()'") else: return [self.template_name]
Example #24
Source File: list.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def get_queryset(self): """ Return the list of items for this view. The return value must be an iterable and may be an instance of `QuerySet` in which case `QuerySet` specific behavior will be enabled. """ if self.queryset is not None: queryset = self.queryset if isinstance(queryset, QuerySet): queryset = queryset.all() elif self.model is not None: queryset = self.model._default_manager.all() else: raise ImproperlyConfigured( "%(cls)s is missing a QuerySet. Define " "%(cls)s.model, %(cls)s.queryset, or override " "%(cls)s.get_queryset()." % { 'cls': self.__class__.__name__ } ) ordering = self.get_ordering() if ordering: if isinstance(ordering, six.string_types): ordering = (ordering,) queryset = queryset.order_by(*ordering) return queryset
Example #25
Source File: django_micro.py From django-micro with BSD 2-Clause "Simplified" License | 5 votes |
def run(): if not settings.configured: raise ImproperlyConfigured("You should call configure() after configuration define.") if _parent_module.__name__ == '__main__': from django.core.management import execute_from_command_line execute_from_command_line(sys.argv) else: from django.core.wsgi import get_wsgi_application return get_wsgi_application()
Example #26
Source File: django_micro.py From django-micro with BSD 2-Clause "Simplified" License | 5 votes |
def get_app_label(): if _app_config is None: raise ImproperlyConfigured( "Application label is not detected. " "Check whether the configure() was called.") return _app_config.label
Example #27
Source File: utils.py From django-badgify with MIT License | 5 votes |
def get_model_string(model_name): """ Returns the model string notation Django uses for lazily loaded ForeignKeys (eg 'auth.User') to prevent circular imports. This is needed to allow our crazy custom model usage. Borrowed from: https://github.com/thoas/django-discussions/blob/master/discussions/utils.py """ setting_name = 'BADGIFY_%s_MODEL' % model_name.upper().replace('_', '') class_path = getattr(settings, setting_name, None) if not class_path: return 'badgify.%s' % model_name elif isinstance(class_path, str): parts = class_path.split('.') try: index = parts.index('models') - 1 except ValueError: raise exceptions.ImproperlyConfigured(CLASS_PATH_ERROR % ( setting_name, setting_name)) app_label, model_name = parts[index], parts[-1] else: try: class_path, app_label = class_path model_name = class_path.split('.')[-1] except Exception: raise exceptions.ImproperlyConfigured(CLASS_PATH_ERROR % ( setting_name, setting_name)) return '%s.%s' % (app_label, model_name)
Example #28
Source File: __init__.py From decorate_url with GNU General Public License v3.0 | 5 votes |
def decorated_url(regex, view, kwargs=None, name=None, prefix='', wrap=None): if isinstance(view, (list, tuple)): urlconf_module, app_name, namespace = view return DecorateRegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace, wrap=wrap) else: if isinstance(view, six.string_types): if not view: raise ImproperlyConfigured('Empty URL pattern view name not permitted (for pattern %r)' % regex) if prefix: view = prefix + '.' + view return DecorateRegexURLPattern(regex, view, kwargs, name, wrap)
Example #29
Source File: __init__.py From resolwe with Apache License 2.0 | 5 votes |
def _register_custom_filters(self): """Register any custom filter modules.""" custom_filters = self.settings.get("CUSTOM_FILTERS", []) if not isinstance(custom_filters, list): raise KeyError("`CUSTOM_FILTERS` setting must be a list.") for filter_module_name in custom_filters: try: filter_module = import_module(filter_module_name) except ImportError as error: raise ImproperlyConfigured( "Failed to load custom filter module '{}'.\n" "Error was: {}".format(filter_module_name, error) ) try: filter_map = getattr(filter_module, "filters") if not isinstance(filter_map, dict): raise TypeError except (AttributeError, TypeError): raise ImproperlyConfigured( "Filter module '{}' does not define a 'filters' dictionary".format( filter_module_name ) ) self._environment.filters.update(filter_map)
Example #30
Source File: finders.py From resolwe with Apache License 2.0 | 5 votes |
def get_finder(import_path): """Get a process finder.""" finder_class = import_string(import_path) if not issubclass(finder_class, BaseProcessesFinder): raise ImproperlyConfigured( 'Finder "{}" is not a subclass of "{}"'.format( finder_class, BaseProcessesFinder ) ) return finder_class()