本文整理匯總了Python中django.contrib.admin.AdminSite方法的典型用法代碼示例。如果您正苦於以下問題:Python admin.AdminSite方法的具體用法?Python admin.AdminSite怎麽用?Python admin.AdminSite使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類django.contrib.admin
的用法示例。
在下文中一共展示了admin.AdminSite方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_admin_site
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def get_admin_site(current_app):
"""
Method tries to get actual admin.site class, if any custom admin sites
were used. Couldn't find any other references to actual class other than
in func_closer dict in index() func returned by resolver.
"""
try:
resolver_match = resolve(reverse('%s:index' % current_app))
# Django 1.9 exposes AdminSite instance directly on view function
if hasattr(resolver_match.func, 'admin_site'):
return resolver_match.func.admin_site
for func_closure in resolver_match.func.__closure__:
if isinstance(func_closure.cell_contents, AdminSite):
return func_closure.cell_contents
except:
pass
from django.contrib import admin
return admin.site
示例2: get_admin_site
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def get_admin_site(current_app):
"""
Method tries to get actual admin.site class, if any custom admin sites
were used. Couldn't find any other references to actual class other than
in func_closer dict in index() func returned by resolver.
"""
try:
resolver_match = resolve(reverse('%s:index' % current_app))
# Django 1.9 exposes AdminSite instance directly on view function
if hasattr(resolver_match.func, 'admin_site'):
return resolver_match.func.admin_site
for func_closure in resolver_match.func.__closure__:
if isinstance(func_closure.cell_contents, AdminSite):
return func_closure.cell_contents
except:
pass
return admin.site
示例3: test_readonly_and_editable
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_readonly_and_editable(self):
class SongAdmin(admin.ModelAdmin):
readonly_fields = ["original_release"]
list_display = ["pk", "original_release"]
list_editable = ["original_release"]
fieldsets = [
(None, {
"fields": ["title", "original_release"],
}),
]
errors = SongAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"The value of 'list_editable[0]' refers to 'original_release', "
"which is not editable through the admin.",
obj=SongAdmin,
id='admin.E125',
)
]
self.assertEqual(errors, expected)
示例4: test_fieldsets_fields_non_tuple
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_fieldsets_fields_non_tuple(self):
"""
The first fieldset's fields must be a list/tuple.
"""
class NotATupleAdmin(admin.ModelAdmin):
list_display = ["pk", "title"]
list_editable = ["title"]
fieldsets = [
(None, {
"fields": "title" # not a tuple
}),
]
errors = NotATupleAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"The value of 'fieldsets[0][1]['fields']' must be a list or tuple.",
obj=NotATupleAdmin,
id='admin.E008',
)
]
self.assertEqual(errors, expected)
示例5: test_nonfirst_fieldset
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_nonfirst_fieldset(self):
"""
The second fieldset's fields must be a list/tuple.
"""
class NotATupleAdmin(admin.ModelAdmin):
fieldsets = [
(None, {
"fields": ("title",)
}),
('foo', {
"fields": "author" # not a tuple
}),
]
errors = NotATupleAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"The value of 'fieldsets[1][1]['fields']' must be a list or tuple.",
obj=NotATupleAdmin,
id='admin.E008',
)
]
self.assertEqual(errors, expected)
示例6: test_exclude_values
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_exclude_values(self):
"""
Tests for basic system checks of 'exclude' option values (#12689)
"""
class ExcludedFields1(admin.ModelAdmin):
exclude = 'foo'
errors = ExcludedFields1(Book, AdminSite()).check()
expected = [
checks.Error(
"The value of 'exclude' must be a list or tuple.",
obj=ExcludedFields1,
id='admin.E014',
)
]
self.assertEqual(errors, expected)
示例7: test_exclude_in_inline
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_exclude_in_inline(self):
class ExcludedFieldsInline(admin.TabularInline):
model = Song
exclude = 'foo'
class ExcludedFieldsAlbumAdmin(admin.ModelAdmin):
model = Album
inlines = [ExcludedFieldsInline]
errors = ExcludedFieldsAlbumAdmin(Album, AdminSite()).check()
expected = [
checks.Error(
"The value of 'exclude' must be a list or tuple.",
obj=ExcludedFieldsInline,
id='admin.E014',
)
]
self.assertEqual(errors, expected)
示例8: test_exclude_inline_model_admin
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_exclude_inline_model_admin(self):
"""
Regression test for #9932 - exclude in InlineModelAdmin should not
contain the ForeignKey field used in ModelAdmin.model
"""
class SongInline(admin.StackedInline):
model = Song
exclude = ['album']
class AlbumAdmin(admin.ModelAdmin):
model = Album
inlines = [SongInline]
errors = AlbumAdmin(Album, AdminSite()).check()
expected = [
checks.Error(
"Cannot exclude the field 'album', because it is the foreign key "
"to the parent model 'admin_checks.Album'.",
obj=SongInline,
id='admin.E201',
)
]
self.assertEqual(errors, expected)
示例9: test_generic_inline_model_admin_non_generic_model
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_generic_inline_model_admin_non_generic_model(self):
"""
A model without a GenericForeignKey raises problems if it's included
in a GenericInlineModelAdmin definition.
"""
class BookInline(GenericStackedInline):
model = Book
class SongAdmin(admin.ModelAdmin):
inlines = [BookInline]
errors = SongAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"'admin_checks.Book' has no GenericForeignKey.",
obj=BookInline,
id='admin.E301',
)
]
self.assertEqual(errors, expected)
示例10: test_generic_inline_model_admin_bad_ct_field
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_generic_inline_model_admin_bad_ct_field(self):
"""
A GenericInlineModelAdmin errors if the ct_field points to a
nonexistent field.
"""
class InfluenceInline(GenericStackedInline):
model = Influence
ct_field = 'nonexistent'
class SongAdmin(admin.ModelAdmin):
inlines = [InfluenceInline]
errors = SongAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"'ct_field' references 'nonexistent', which is not a field on 'admin_checks.Influence'.",
obj=InfluenceInline,
id='admin.E302',
)
]
self.assertEqual(errors, expected)
示例11: test_generic_inline_model_admin_non_gfk_ct_field
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_generic_inline_model_admin_non_gfk_ct_field(self):
"""
A GenericInlineModelAdmin raises problems if the ct_field points to a
field that isn't part of a GenericForeignKey.
"""
class InfluenceInline(GenericStackedInline):
model = Influence
ct_field = 'name'
class SongAdmin(admin.ModelAdmin):
inlines = [InfluenceInline]
errors = SongAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"'admin_checks.Influence' has no GenericForeignKey using "
"content type field 'name' and object ID field 'object_id'.",
obj=InfluenceInline,
id='admin.E304',
)
]
self.assertEqual(errors, expected)
示例12: test_generic_inline_model_admin_non_gfk_fk_field
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_generic_inline_model_admin_non_gfk_fk_field(self):
"""
A GenericInlineModelAdmin raises problems if the ct_fk_field points to
a field that isn't part of a GenericForeignKey.
"""
class InfluenceInline(GenericStackedInline):
model = Influence
ct_fk_field = 'name'
class SongAdmin(admin.ModelAdmin):
inlines = [InfluenceInline]
errors = SongAdmin(Song, AdminSite()).check()
expected = [
checks.Error(
"'admin_checks.Influence' has no GenericForeignKey using "
"content type field 'content_type' and object ID field 'name'.",
obj=InfluenceInline,
id='admin.E304',
)
]
self.assertEqual(errors, expected)
示例13: test_fk_exclusion
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_fk_exclusion(self):
"""
Regression test for #11709 - when testing for fk excluding (when exclude is
given) make sure fk_name is honored or things blow up when there is more
than one fk to the parent model.
"""
class TwoAlbumFKAndAnEInline(admin.TabularInline):
model = TwoAlbumFKAndAnE
exclude = ("e",)
fk_name = "album1"
class MyAdmin(admin.ModelAdmin):
inlines = [TwoAlbumFKAndAnEInline]
errors = MyAdmin(Album, AdminSite()).check()
self.assertEqual(errors, [])
示例14: test_inline_self_check
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_inline_self_check(self):
class TwoAlbumFKAndAnEInline(admin.TabularInline):
model = TwoAlbumFKAndAnE
class MyAdmin(admin.ModelAdmin):
inlines = [TwoAlbumFKAndAnEInline]
errors = MyAdmin(Album, AdminSite()).check()
expected = [
checks.Error(
"'admin_checks.TwoAlbumFKAndAnE' has more than one ForeignKey to 'admin_checks.Album'.",
obj=TwoAlbumFKAndAnEInline,
id='admin.E202',
)
]
self.assertEqual(errors, expected)
示例15: test_graceful_m2m_fail
# 需要導入模塊: from django.contrib import admin [as 別名]
# 或者: from django.contrib.admin import AdminSite [as 別名]
def test_graceful_m2m_fail(self):
"""
Regression test for #12203/#12237 - Fail more gracefully when a M2M field that
specifies the 'through' option is included in the 'fields' or the 'fieldsets'
ModelAdmin options.
"""
class BookAdmin(admin.ModelAdmin):
fields = ['authors']
errors = BookAdmin(Book, AdminSite()).check()
expected = [
checks.Error(
"The value of 'fields' cannot include the ManyToManyField 'authors', "
"because that field manually specifies a relationship model.",
obj=BookAdmin,
id='admin.E013',
)
]
self.assertEqual(errors, expected)