Python django.contrib.admin() Examples
The following are 30
code examples of django.contrib.admin().
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.contrib
, or try the search function
.

Example #1
Source File: middleware.py From django-modeladmin-reorder with BSD 3-Clause "New" or "Revised" License | 6 votes |
def process_template_response(self, request, response): try: url = resolve(request.path_info) except Resolver404: return response if not url.app_name == 'admin' and \ url.url_name not in ['index', 'app_list']: # current view is not a django admin index # or app_list view, bail out! return response try: app_list = response.context_data['app_list'] except KeyError: # there is no app_list! nothing to reorder return response self.init_config(request, app_list) ordered_app_list = self.get_app_list() response.context_data['app_list'] = ordered_app_list return response
Example #2
Source File: test_admin.py From django-flexible-subscriptions with GNU General Public License v3.0 | 6 votes |
def test_admin_excluded_when_false_in_settings(): """Tests that admin views are not loaded when disabled in settings.""" # pylint: disable=protected-access reload(subscription_admin) try: admin.site._registry[models.SubscriptionPlan] except KeyError: assert True else: assert False try: admin.site._registry[models.UserSubscription] except KeyError: assert True else: assert False try: admin.site._registry[models.SubscriptionTransaction] except KeyError: assert True else: assert False
Example #3
Source File: test_django.py From openapi-core with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_no_resolver(self, request_factory): request = request_factory.get('/admin/') openapi_request = DjangoOpenAPIRequest(request) path = {} query = {} headers = { 'Cookie': '', } cookies = {} assert openapi_request.parameters == RequestParameters( path=path, query=query, header=headers, cookie=cookies, ) assert openapi_request.method == request.method.lower() assert openapi_request.full_url_pattern == \ request._current_scheme_host + request.path assert openapi_request.body == request.body assert openapi_request.mimetype == request.content_type
Example #4
Source File: test_django.py From openapi-core with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_simple(self, request_factory): from django.urls import resolve request = request_factory.get('/admin/') request.resolver_match = resolve('/admin/') openapi_request = DjangoOpenAPIRequest(request) path = {} query = {} headers = { 'Cookie': '', } cookies = {} assert openapi_request.parameters == RequestParameters( path=path, query=query, header=headers, cookie=cookies, ) assert openapi_request.method == request.method.lower() assert openapi_request.full_url_pattern == \ request._current_scheme_host + request.path assert openapi_request.body == request.body assert openapi_request.mimetype == request.content_type
Example #5
Source File: models.py From django-collaborative with MIT License | 6 votes |
def delete(self, **kwargs): # first drop the table, we have to do this first, else # django will complain about no content type existing Model = apps.get_model("django_models_from_csv", self.name) ModelSchemaEditor().drop_table(Model) # then remove django app and content-types/permissions app_config = apps.get_app_config("django_models_from_csv") wipe_models_and_permissions(app_config, self.name) # finally kill the row super().delete(**kwargs) # delete it from the django app registry try: del apps.all_models["django_models_from_csv"][self.name] except KeyError as err: raise LookupError("'{}' not found.".format(self.name)) # Unregister the model from the admin, before we wipe it out try: admin.site.unregister(Model) except admin.sites.NotRegistered: pass
Example #6
Source File: views.py From edx-enterprise with GNU Affero General Public License v3.0 | 6 votes |
def _build_context(self, request, customer_uuid): """ Build common context parts used by different handlers in this view. """ # TODO: pylint acts stupid - find a way around it without suppressing enterprise_customer = EnterpriseCustomer.objects.get(uuid=customer_uuid) # pylint: disable=no-member search_keyword = self.get_search_keyword(request) linked_learners = self.get_enterprise_customer_user_queryset(request, search_keyword, customer_uuid) pending_linked_learners = self.get_pending_users_queryset(search_keyword, customer_uuid) context = { self.ContextParameters.ENTERPRISE_CUSTOMER: enterprise_customer, self.ContextParameters.PENDING_LEARNERS: pending_linked_learners, self.ContextParameters.LEARNERS: linked_learners, self.ContextParameters.SEARCH_KEYWORD: search_keyword or '', self.ContextParameters.ENROLLMENT_URL: settings.LMS_ENROLLMENT_API_PATH, } context.update(admin.site.each_context(request)) context.update(self._build_admin_context(request, enterprise_customer)) return context
Example #7
Source File: admin.py From weixin_server with MIT License | 6 votes |
def revert(self, request, queryset): """ Admin action to revert a configuration back to the selected value """ if queryset.count() != 1: self.message_user(request, _("Please select a single configuration to revert to.")) return target = queryset[0] target.id = None target.changed_by = request.user target.save(action_type='create') self.message_user(request, _("Reverted configuration.")) return HttpResponseRedirect( reverse( 'admin:{}_{}_change'.format( self.model._meta.app_label, self.model._meta.model_name, ), args=(target.id,), ) )
Example #8
Source File: admin.py From django-inline-actions with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_inline_actions(self, request, obj=None): """ Returns a list of all actions for this Admin. """ # If self.actions is explicitly set to None that means that we don't # want *any* actions enabled on this page. if self.inline_actions is None: return [] actions = [] # Gather actions from the inline admin and all parent classes, # starting with self and working back up. for klass in self.__class__.mro()[::-1]: class_actions = getattr(klass, 'inline_actions', []) # Avoid trying to iterate over None if not class_actions: continue for action in class_actions: if action not in actions: actions.append(action) return actions
Example #9
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 6 votes |
def test_delete_str_in_model_admin(self): """ Test if the admin delete page shows the correct string representation for a proxy model. """ user = TrackerUser.objects.get(name='Django Pony') proxy = ProxyTrackerUser.objects.get(name='Django Pony') user_str = 'Tracker user: <a href="%s">%s</a>' % ( reverse('admin_proxy:proxy_models_trackeruser_change', args=(user.pk,)), user ) proxy_str = 'Proxy tracker user: <a href="%s">%s</a>' % ( reverse('admin_proxy:proxy_models_proxytrackeruser_change', args=(proxy.pk,)), proxy ) self.client.force_login(self.superuser) response = self.client.get(reverse('admin_proxy:proxy_models_trackeruser_delete', args=(user.pk,))) delete_str = response.context['deleted_objects'][0] self.assertEqual(delete_str, user_str) response = self.client.get(reverse('admin_proxy:proxy_models_proxytrackeruser_delete', args=(proxy.pk,))) delete_str = response.context['deleted_objects'][0] self.assertEqual(delete_str, proxy_str)
Example #10
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 6 votes |
def test_delete_str_in_model_admin(self): """ Test if the admin delete page shows the correct string representation for a proxy model. """ user = TrackerUser.objects.get(name='Django Pony') proxy = ProxyTrackerUser.objects.get(name='Django Pony') user_str = 'Tracker user: <a href="%s">%s</a>' % ( reverse('admin_proxy:proxy_models_trackeruser_change', args=(user.pk,)), user ) proxy_str = 'Proxy tracker user: <a href="%s">%s</a>' % ( reverse('admin_proxy:proxy_models_proxytrackeruser_change', args=(proxy.pk,)), proxy ) self.client.force_login(self.superuser) response = self.client.get(reverse('admin_proxy:proxy_models_trackeruser_delete', args=(user.pk,))) delete_str = response.context['deleted_objects'][0] self.assertEqual(delete_str, user_str) response = self.client.get(reverse('admin_proxy:proxy_models_proxytrackeruser_delete', args=(proxy.pk,))) delete_str = response.context['deleted_objects'][0] self.assertEqual(delete_str, proxy_str)
Example #11
Source File: middleware.py From django-modeladmin-reorder with BSD 3-Clause "New" or "Revised" License | 5 votes |
def init_config(self, request, app_list): self.request = request self.app_list = app_list self.config = getattr(settings, 'ADMIN_REORDER', None) if not self.config: # ADMIN_REORDER settings is not defined. raise ImproperlyConfigured('ADMIN_REORDER config is not defined.') if not isinstance(self.config, (tuple, list)): raise ImproperlyConfigured( 'ADMIN_REORDER config parameter must be tuple or list. ' 'Got {config}'.format(config=self.config)) admin_index = admin.site.index(request) try: # try to get all installed models app_list = admin_index.context_data['app_list'] except KeyError: # use app_list from context if this fails pass # Flatten all models from apps self.models_list = [] for app in app_list: for model in app['models']: model['model_name'] = self.get_model_name( app['app_label'], model['object_name']) self.models_list.append(model)
Example #12
Source File: checks.py From django-hijack-admin with MIT License | 5 votes |
def _using_hijack_admin_mixin(): from hijack_admin.admin import HijackUserAdminMixin user_admin_class_name = getattr( settings, 'HIJACK_USER_ADMIN_CLASS_NAME', None) user_admin_class = user_admin_class_name \ if user_admin_class_name else type( admin.site._registry.get(get_user_model(), None)) return issubclass(user_admin_class, HijackUserAdminMixin)
Example #13
Source File: checks.py From django-hijack-admin with MIT License | 5 votes |
def check_get_requests_allowed(app_configs, **kwargs): errors = [] if not hijack_settings.HIJACK_ALLOW_GET_REQUESTS: errors.append( Error( 'Hijack GET requests must be allowed for django-hijack-admin to work.', hint='Set HIJACK_ALLOW_GET_REQUESTS to True.', obj=None, id='hijack_admin.E001', ) ) return errors
Example #14
Source File: checks.py From django-hijack-admin with MIT License | 5 votes |
def check_custom_user_model(app_configs, **kwargs): warnings = [] if (settings.AUTH_USER_MODEL != DEFAULT_AUTH_USER_MODEL and not _using_hijack_admin_mixin()): warnings.append( Warning( 'django-hijack-admin does not work out the box with a custom user model.', hint='Please mix HijackUserAdminMixin into your custom UserAdmin.', obj=settings.AUTH_USER_MODEL, id='hijack_admin.W001', ) ) return warnings
Example #15
Source File: views.py From rainmap-lite with GNU General Public License v3.0 | 5 votes |
def clear_logs(request): """Clear admin activity logs if user has permissions""" if not request.user.is_authenticated(): # should be applied to anything under /console return redirect('login') if request.user.has_perm('admin.delete_logentry'): LogEntry.objects.all().filter(user__pk=request.user.id).delete() messages.info(request, 'Successfully cleared admin activity logs.', fail_silently=True) else: messages.warning(request, 'Unable to clear the admin activity logs.', fail_silently=True) return redirect('admin:index')
Example #16
Source File: tests.py From Django-Merged-Inlines with MIT License | 5 votes |
def test_basic_merged_view(self): """ With no special settings, the MergedInlineAdmin should order the merged inlines by ID """ response = self.client.get(reverse('admin:tests_author_change', args=(1,))) self.assertEqual(response.status_code, 200) self.assertStringOrder(response, [ 'Romeo and Juliet', 'Shall I compare thee to a summer', 'A Midsummer Night', 'As a decrepit father takes delight', 'Julius Caesar', ])
Example #17
Source File: tests.py From Django-Merged-Inlines with MIT License | 5 votes |
def test_merged_by_custom_field_view(self): """ Specifying a particular merging field """ response = self.client.get(reverse('admin:tests_kingdom_change', args=(1,))) self.assertEqual(response.status_code, 200) self.assertStringOrder(response, [ 'Bronn', 'Joffrey Baratheon', 'Rob Stark', 'The Hound', 'Tommen Baratheon' ])
Example #18
Source File: tests.py From Django-Merged-Inlines with MIT License | 5 votes |
def test_custom_field_order_view(self): """ Check that a custom form field ordering is in effect """ response = self.client.get(reverse('admin:tests_kingdom_change', args=(1,))) self.assertEqual(response.status_code, 200) self.assertStringOrder(response, [ '<th>Alive', '<th>Name', '<th>House' ])
Example #19
Source File: views.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def dispatch(self, request, *args, **kwargs): if not utils.docutils_is_available: # Display an error message for people without docutils self.template_name = 'admin_doc/missing_docutils.html' return self.render_to_response(admin.site.each_context(request)) return super(BaseAdminDocsView, self).dispatch(request, *args, **kwargs)
Example #20
Source File: views.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def get_context_data(self, **kwargs): kwargs.update({'root_path': urlresolvers.reverse('admin:index')}) kwargs.update(admin.site.each_context(self.request)) return super(BaseAdminDocsView, self).get_context_data(**kwargs)
Example #21
Source File: admin.py From DCRM with GNU Affero General Public License v3.0 | 5 votes |
def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'title': kwargs['widget'] = AdminTextInputWidget return super(FluentCommentsAdmin, self).formfield_for_dbfield(db_field, **kwargs) # Replace the old admin screen.
Example #22
Source File: statistics.py From DCRM with GNU Affero General Public License v3.0 | 5 votes |
def statistics_view(request): """ :param request: Django Request :return: Django HttpResponse :rtype: HttpResponse """ if request.method == 'GET': context = admin.site.each_context(request) context.update({ 'title': _('Statistics'), 'db_status': db_status(), 'stat': statistics(), 'settings': preferences.Setting, }) template = 'admin/help/statistics.html' return render(request, template, context) else: if 'action' in request.POST and request.POST['action'] == 'clean_all': result_dict = {} try: # cache clear cache.clear() # remove all temporarily files if os.path.exists(TEMP_ROOT): shutil.rmtree(TEMP_ROOT) os.mkdir(TEMP_ROOT) else: os.mkdir(TEMP_ROOT) result_dict = {"status": True} return HttpResponse(json.dumps(result_dict), content_type='application/json') except Exception as e: # error handler result_dict.update({ "success": False, "exception": str(e) }) return HttpResponse(json.dumps(result_dict), content_type='application/json')
Example #23
Source File: about.py From DCRM with GNU Affero General Public License v3.0 | 5 votes |
def about_view(request): """ :param request: Django Request :return: Django HttpResponse :rtype: HttpResponse """ context = admin.site.each_context(request) context.update({ 'title': _('About'), 'version': "4.1", }) template = 'admin/help/about.html' return render(request, template, context)
Example #24
Source File: test_admin.py From django-x509 with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ca_url(self): ma = self.cert_admin(Cert, self.site) self.assertEqual( ma.ca_url(self.cert), f'<a href="/admin/{self.app_label}/ca/1/change/"></a>' )
Example #25
Source File: utils.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def register_model_in_admin(model, admin_class=None): """ Register model in Django admin interface """ from django.contrib import admin admin.site.register(model, admin_class) _reload_urlconf()
Example #26
Source File: tests.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def setUp(self): # Create and login a superuser for the admin user = User(username="admin", is_staff=True, is_superuser=True) user.set_password("admin") user.save() self.client.login(username="admin", password="admin")
Example #27
Source File: tests.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_inline_smoke(self): """ Tests that no error is raised when viewing an inline in the admin. """ path = '/admin/userapp/page/add/' try: response = self.client.get(path) except Exception as e: self.fail(u"Exception raised at '%s': %s" % (path, e)) self.assertEqual(response.status_code, 200)
Example #28
Source File: tests.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_inline_add(self): path = '/admin/userapp/tag/add/' data = { "name": "Test", "djangoseo-coveragemodelinstance-_content_type-_object_id-0-title": "test", "djangoseo-coveragemodelinstance-_content_type-_object_id-TOTAL_FORMS": "1", "djangoseo-coveragemodelinstance-_content_type-_object_id-INITIAL_FORMS": "0", "djangoseo-coveragemodelinstance-_content_type-_object_id-MAX_NUM_FORMS": "1", "djangoseo-withsitesmodelinstance-_content_type-_object_id-TOTAL_FORMS": "1", "djangoseo-withsitesmodelinstance-_content_type-_object_id-INITIAL_FORMS": "0", "djangoseo-withsitesmodelinstance-_content_type-_object_id-MAX_NUM_FORMS": "1", } try: response = self.client.post(path, data, follow=True) except Exception as e: self.fail("Exception raised at '%s': %s" % (path, e)) self.assertEqual(response.status_code, 200) path = '/admin/djangoseo/coveragemodel/add/' data = { "title": "Testing", "_content_type": u'3', } try: response = self.client.post(path, data, follow=True) except Exception as e: self.fail(u"Exception raised at '%s': %s" % (path, e)) self.assertEqual(response.status_code, 200)
Example #29
Source File: tests.py From django-seo with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_autoinline(self): for model in ('tag', 'page', 'product'): path = '/alt-admin/userapp/%s/add/' % model try: response = self.client.get(path) except Exception as e: self.fail("Exception raised at '%s': %s" % (path, e)) self.assertContains(response, "seo-coveragemodelinstance-_content_type", status_code=200) self.assertNotContains(response, "seo-withsitesmodelinstance-_content_type") self.assertContains(response, "seo-withseomodelsmodelinstance-_content_type", status_code=200)
Example #30
Source File: filter.py From django-admin-rangefilter with MIT License | 5 votes |
def choices(self, cl): yield { # slugify converts any non-unicode characters to empty characters # but system_name is required, if title converts to empty string use id # https://github.com/silentsokolov/django-admin-rangefilter/issues/18 'system_name': force_str(slugify(self.title) if slugify(self.title) else id(self.title)), 'query_string': cl.get_query_string( {}, remove=self._get_expected_fields() ) }