`

django-blog(五)admin后台配置

 
阅读更多

以文章模型为例:

文章模型的定义为:

 文章模型:(vim blog/models.py)

class Article(models.Model):

    title = models.CharField(max_length=50, verbose_name='文章标题')

    desc = models.CharField(max_length=50, verbose_name='文章描述')

    content = models.TextField(verbose_name='文章内容')

    click_count = models.IntegerField(default=0, verbose_name='点击次数')

    is_recommend = models.BooleanField(default=False, verbose_name='是否推荐')

    date_publish = models.DateTimeField(auto_now_add=True, verbose_name='发布时间')

    user = models.ForeignKey(User, verbose_name='用户')

    category = models.ForeignKey(Category, blank=True, null=True, verbose_name='分类')

    tag = models.ManyToManyField(Tag, verbose_name='标签')

 

    class Meta:

        verbose_name = '文章'

        verbose_name_plural = verbose_name

        ordering = ['-date_publish']

 

    def __unicode__(self):

        return self.title

 

 

定义admin后台

 

vim blog/admin.py

 

如果你希望Article 模型在写文章时只包含'title','desc','content' 字段, 应该显式说明fields 

、或使用exclude去除不想显示的项,像这样:

from models import *

class ActicleAdmin(admin.ModelAdmin):

  fields=('title','desc','content')

admin.site.register(Article,ActicleAdmin)

 

这样在发表文章的时候只有标题,描述,和内容项目。

 

要在同一行显示多个字段, 就把那些字段打包在一个元组里。例子中, url 和 title 字段 会显示在同一行, content 字段将会显示在他们的下一行里:

class FlatPageAdmin(admin.ModelAdmin):
    fields = (('desc', 'title'), 'content')

 

 

另外,如果字段过多,可以使用fieldsets将不需要的隐藏折叠起来

class ActicleAdmin(admin.ModelAdmin):

    fieldsets = (

        (None, {

            'fields': ('desc', 'title', 'content', 'category')

        }),

        ('Advanced options', {#高级设置

            'classes': ( 'collapse',),#折叠一下

            'fields': ('click_count', 'is_recommend', 'user')

        }),

    )

admin.site.register(Article,ActicleAdmin)


fieldsets 是一个以二元元组为元素的列表, 每一个二元元组代表一个在管理表单的 <fieldset><fieldset> 是表单的一部分.)

 

ModelAdmin.list_display

 

使用list_display 去控制哪些字段会显示在Admin 的修改列表页面中。

 

class UserAdmin(admin.ModelAdmin):

  list_display=( 'username','qq','mobile')

 

admin.site.register(User,UserAdmin)

 

在列表页要显示的字段

 

ModelAdmin.list_display_links

 

加入后点击其他项也可以进入编辑界面

class UserAdmin(admin.ModelAdmin):

  list_display=( 'username','qq','mobile')

  list_display_links=( 'username','qq','mobile')

admin.site.register(User,UserAdmin)

 

ModelAdmin.list_editable

加入后可在列表界面直接编辑

class UserAdmin(admin.ModelAdmin):

  list_display=( 'username','qq','mobile')

  list_editable=( 'qq','mobile')

admin.site.register(User,UserAdmin)

 

ModelAdmin.list_filter

筛选功能,加入后在列表的右侧出现列表 点击即可筛选

class UserAdmin(admin.ModelAdmin):

  list_display=( 'username','qq','mobile')

  list_filter=( 'username','qq','mobile')

  list_editable=( 'qq','mobile')

admin.site.register(User,UserAdmin)

 

 

 http://python.usyiyi.cn/django/ref/contrib/admin/index.html

分享到:
评论

相关推荐

    django-vue-admin-master.zip

    解压“django-vue-admin-master.zip”后,我们可以看到项目的基本目录结构,包括Django的项目文件、应用文件、静态文件夹(存放CSS、JS等)、模板文件夹、以及可能包含的配置文件。理解这些文件的作用对于项目开发...

    django-vue-admin-pro-master.zip

    《Django-Vue-Admin-Pro:构建高效后台管理系统》 Django-Vue-Admin-Pro是一个基于Django框架和Vue.js前端库的高级管理界面模板,旨在帮助开发者快速构建功能完善的后台管理系统。它集成了现代Web开发的最佳实践,...

    django-vue-admin-pro.rar

    "django-vue-admin-pro.rar" 是一个包含使用Django框架和Vue.js前端库构建的高级管理后台项目的压缩文件。这个项目可能是一个模板或者一个已经开发完成的系统,用于快速搭建高效、美观且功能丰富的Web应用后台。让...

    django-admin-bootstrap-master.zip

    6. **安装与配置**:项目可能提供详细的文档,说明如何将这个主题集成到现有的Django项目中,包括安装依赖、配置settings以及注册admin应用。 通过使用这个项目,开发者不仅可以提升Django admin的视觉吸引力,还能...

    Python库 | django-fastadmin-0.1.1.tar.gz

    `django-fastadmin` 是一个基于 Python 的 Django 框架构建的高效后台管理系统。这个开源项目旨在简化 Django 应用的后台开发,提供快速、高效的管理界面,使得开发者能够更专注于业务逻辑,而非花费大量时间在界面...

    django-mptt-admin:Django-mptt-admin为Mptt模型提供了一个不错的Django Admin界面

    **Django-mptt-admin** 是一个专门为Django框架中的MPTT(Modified Preorder Tree Traversal)模型设计的扩展,旨在改善MPTT模型在Django管理后台(Django Admin)中的显示和操作体验。这个工具使得开发人员能够更...

    PyPI 官网下载 | django-material-admin-1.6.29.tar.gz

    `django-material-admin`是一个基于Django框架和Material Design的后台管理界面模板。这个库主要用于提升Django项目的管理界面体验,为开发者提供美观且功能丰富的后台管理工具。 **Django框架** Django是用Python...

    Python库 | django-material-admin-1.6.34.tar.gz

    `django-material-admin-1.6.34.tar.gz` 是一个针对Python的Django框架的扩展库,主要用于改善Django管理界面(admin site)的用户体验,它引入了Material Design风格,为开发者提供了美观且功能丰富的后台管理界面...

    Python库 | django-responsive-admin-0.1.4.tar.gz

    接着,在Django项目的`settings.py`中,将`django-responsive-admin`添加到`INSTALLED_APPS`列表中,并可能需要对admin站点进行一些配置以启用响应式设计。 3. CSS与JavaScript:`django-responsive-admin`可能包含...

    PyPI 官网下载 | django-restful-admin-1.0.1.tar.gz

    标签"Python库"说明`django-restful-admin`是一个Python开发的软件库,它提供了特定的功能,可能是为了简化开发者在Django框架下创建REST API接口和管理后台的工作。 根据压缩包子文件的文件名称列表"django-...

    PyPI 官网下载 | django-material-admin-1.6.37.tar.gz

    `django-material-admin`是针对Django的管理后台界面的增强组件。它利用了Material Design Lite(MDL)库,提供了一套符合谷歌Material Design设计规范的界面。Material Design是一种现代化的设计语言,强调清晰的...

    PyPI 官网下载 | django-reports-admin-1.0.2.tar.gz

    在Django中,admin站点是开发者快速实现后台管理功能的便捷工具,而这个库则进一步提升了其报表和数据分析的能力。1.0.2是该库的一个版本号,表明这是该库的一个稳定迭代,可能包含了一些bug修复、性能优化或新特性...

    PyPI 官网下载 | django-simple-admin-overlay-0.1.tar.gz

    Django的admin界面允许开发者快速创建后台管理系统,用于管理数据库中的数据。"overlay"一词可能意味着这个库提供了自定义的皮肤或功能,以改变默认admin界面的外观或行为,使得管理和操作更加便捷。 **tar.gz文件...

    Python库 | django-read-only-admin-0.4.0.zip

    **Python库 django-read-only-admin-0.4.0** 在Python的世界中,Django是一个流行的Web框架,...无论你是正在构建一个新的项目还是改进现有的后台管理界面,考虑使用`django-read-only-admin`都是一个值得考虑的选择。

    Python库 | django-read-only-admin-0.14.12.zip

    2. **配置**:在你的Django项目的settings.py文件中,将`'django_read_only_admin'`添加到`INSTALLED_APPS`列表中。 3. **注册模型**:在admin.py文件中,为你的模型注册只读视图,使用`@admin.register`装饰器并...

    Python库 | django-material-admin-1.6.39.tar.gz

    `django-material-admin`是针对Django admin的一个自定义实现,它将Material Design的理念融入到Django的后台管理界面中。该库提供了许多特性,包括: 1. **响应式布局** - 自适应不同设备屏幕大小,确保在桌面和...

    Django-1.2.5.tar.gz

    - 自带管理后台:Django提供了内置的admin界面,可以快速为模型创建管理界面,便于数据的增删改查。 - 表单处理:Django的表单系统简化了HTML表单的处理,包括验证、渲染和数据绑定。 - 分页和缓存:Django支持页面...

    Python库 | django-sslify-admin-0.3.tar.gz

    在实际使用中,开发者会首先通过`pip install django-sslify-admin-0.3.tar.gz`命令来安装库,然后在Django项目的`settings.py`文件中进行配置,以启用SSL强制。此外,还需要确保服务器已经配置了SSL证书,以便在...

    django-fluent-dashboard.pdf

    Django-fluent-dashboard是一款基于Django-admin-tools的自定义管理后台仪表盘扩展模块。它不仅提供了将标准Django后台主页替换成基于小部件的仪表盘的默认机制,而且通过提供额外的“模块”(即小部件)进一步扩展...

    PyPI 官网下载 | django-simple-export-admin-0.1.6.tar.gz

    `django-simple-export-admin`这个名字暗示了这个库可能是为了简化Django管理后台的数据导出功能。在Django中,管理员可以查看和编辑数据库中的数据,但默认情况下,导出数据可能比较繁琐。这个库可能提供了便捷的...

Global site tag (gtag.js) - Google Analytics