深入Django(八)

简介: 了解Django的管理后台,它是一个用于管理应用数据的内置Web界面。要启用它,需在`admin.py`中注册模型,创建超级用户,并访问服务器的`/admin/`路径。可自定义后台,如定义模型显示(通过`list_display`, `list_filter`, `search_fields`),定制表单界面(定义表单类和覆盖字段)以及进行高级定制,如字段选项和重写方法。管理后台支持添加、编辑和删除记录,以及批量操作。

掌握Django的管理后台

引言

在前七天的教程中,我们介绍了Django的基础架构、模型、视图、模板、URL路由、表单系统以及数据库迁移。今天,我们将深入了解Django的管理后台,这是一个功能强大的内置管理界面,用于创建、更新、查看和删除数据。

Django管理后台概述

Django管理后台是一个动态的、基于Web的界面,它允许管理员通过浏览器管理应用程序的数据。它自动根据模型定义生成管理界面。

启用管理后台

  1. 注册模型:在你的admin.py文件中注册模型,使其在管理后台中可用。
  2. # admin.pyfrom django.contrib import adminfrom .models import Bookadmin.site.register(Book)
  3. 创建超级用户:运行createsuperuser命令创建一个超级用户账号。
  4. python manage.py createsuperuser
  5. 访问管理后台:启动Django的开发服务器,并在浏览器中访问/admin/路径。

自定义管理后台

Django允许你高度自定义管理后台,以满足你的特定需求。

自定义模型显示

  1. 定义模型Admin:在admin.py中定义模型的Admin类。
  2. # admin.pyclass BookAdmin(admin.ModelAdmin):    list_display = ('title', 'author', 'published_date')    list_filter = ('author', 'published_date')    search_fields = ('title', 'author')admin.site.register(Book, BookAdmin)
  3. 自定义列表显示:通过list_display属性,你可以控制对象列表页面上显示哪些字段。
  4. 自定义过滤器:通过list_filter属性,你可以添加侧边过滤器。
  5. 添加搜索框:通过search_fields属性,你可以添加搜索功能。

自定义表单界面

  1. 定义表单:在Admin类中定义一个表单。
  2. from django import formsfrom .models import Bookclass BookForm(forms.ModelForm):    class Meta:        model = Book        fields = '__all__'class BookAdmin(admin.ModelAdmin):    form = BookForm
  3. 自定义字段:通过覆盖表单类,你可以自定义字段的显示和行为。

高级自定义

  1. 字段选项:使用fieldsfieldsetsfieldclasses等属性来自定义表单布局。
  2. 重写方法:重写Admin类的方法,如save_model,来添加自定义逻辑。
  3. 添加自定义动作:通过actions属性,你可以添加自定义动作到对象工具栏。

使用Django管理后台

  1. 添加记录:在管理后台中,你可以轻松添加新的记录。
  2. 编辑记录:点击列表视图中的记录,可以编辑其详细信息。
  3. 删除记录:选择一个或多个记录,然后点击删除按钮。
  4. 批量操作:选择多个记录并执行批量操作,如批量删除。

总结

在今天的教程中,我们学习了如何启用和使用Django的管理后台,以及如何自定义管理后台以满足你的特定需求。我们介绍了如何注册模型、创建超级用户账号、自定义模型显示和表单界面,以及如何执行基本的管理操作。

相关文章
|
1月前
|
Python
深入Django(五)
Django的URL路由系统将URL映射到视图。创建URLconf涉及编写视图、定义URL模式(如`home`和`about`)并在项目主`urls.py`中包含应用URL。动态URL模式允许捕获数据,如`post/<int:post_id>/`,并在视图中使用。命名URL便于模板和视图中引用,通过`{% url %}`模板标签或`reverse`函数。正则表达式用于更复杂URL模式匹配。URL路由是Django中组织请求与响应的核心机制。
30 4
|
1月前
|
数据库 数据安全/隐私保护 Python
深入Django(六)
本文档介绍了Django的表单系统,用于处理用户输入和数据验证。首先,表单通过声明式方式定义,如在`forms.py`中基于模型创建表单类。接着,在视图中处理GET和POST请求,使用`is_valid()`和`save()`方法验证和保存数据。在模板中,使用标签渲染表单和错误信息。表单系统还包括内置及自定义验证规则,以及与模型的集成,如`ModelForm`方便数据保存。此外,还有表单集、表单继承和自定义字段等高级功能。表单系统简化了用户输入管理和数据安全。
28 4
|
1月前
|
SQL 中间件 Linux
深入Django系列
本文是Django入门教程的第一天,简要介绍了Django,一个遵循DRY原则的开源Web框架。核心特性包括ORM、自动URL路由、模板系统、表单处理和中间件支持。随后,文章指导读者如何搭建开发环境:安装Python,创建并激活虚拟环境,使用pip安装Django,创建项目及运行开发服务器。通过这些步骤,读者可以开始他们的第一个Django项目。
13 2
|
1月前
|
前端开发 数据管理 API
深入Django(二)
本文介绍了Django的模型(Models)系统,它是Django框架中处理数据库的核心部分。模型是通过Python类定义的,对应数据库中的表,属性代表表的字段。通过模型,可以方便地操作数据,如创建、查询、更新和删除记录。文中展示了如何创建`Author`和`Post`模型,以及如何使用ORM进行对象操作。此外,还提到了模型的高级特性,如字段选项、字段类型、关系以及自定义方法和属性,这些都是Django高效管理数据的关键。理解模型对于Django应用开发至关重要。
22 1
|
6月前
|
缓存 安全 API
Django
Django是一个用Python编写的开源Web框架,用于构建可扩展、高性能、安全的Web应用程序。Django具有许多内置功能,如用户认证、管理界面、缓存、静态文件处理等,可以帮助开发者快速搭建和开发Web应用程序。 Django的用途主要包括:
71 1
|
10月前
|
Python
初识Django
初识Django
50 0
|
10月前
|
算法 前端开发 网络安全
【Django】Hello,DJango!
这样就在主目录下创建了一个自己的项目以下统称创建的项目路径为根目录(即ppeua_app/)
75 0
|
设计模式 缓存 前端开发
Django——小结
 Python的WEB框架有Django、Tornado、Flask 等多种,Django是重量级选手中最有代表性的一位,它的优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。
114 0
Django——小结
|
Web App开发 前端开发 数据库
Django中的ModelForm
一、ModelForm的基本用法示例: from django import forms from app01 import models class BookModelForm(forms.
1157 0