深入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的管理后台,以及如何自定义管理后台以满足你的特定需求。我们介绍了如何注册模型、创建超级用户账号、自定义模型显示和表单界面,以及如何执行基本的管理操作。

相关文章
|
3月前
|
SQL 前端开发 API
Django 系列
【8月更文挑战第20天】
29 1
|
6月前
|
Python
深入Django(五)
Django的URL路由系统将URL映射到视图。创建URLconf涉及编写视图、定义URL模式(如`home`和`about`)并在项目主`urls.py`中包含应用URL。动态URL模式允许捕获数据,如`post/<int:post_id>/`,并在视图中使用。命名URL便于模板和视图中引用,通过`{% url %}`模板标签或`reverse`函数。正则表达式用于更复杂URL模式匹配。URL路由是Django中组织请求与响应的核心机制。
47 4
|
6月前
|
前端开发 Python
深入Django(四)
**Django模板系统**简介:用于结合数据与HTML,生成网页内容。模板系统让动态数据能插入静态页面,模板语言支持Python代码嵌入。创建模板涉及在应用目录下建立`templates`文件夹及编写HTML。使用时,视图通过`render`函数加载模板,URL配置指向相应视图。模板语言包含控制结构(如if、for)、过滤器(如日期格式化、字符串截取)和自定义过滤器。模板继承则促进布局一致性,允许子模板扩展基础模板。模板系统简化了Django中的动态内容渲染。
28 3
|
6月前
|
SQL 中间件 Linux
深入Django系列
本文是Django入门教程的第一天,简要介绍了Django,一个遵循DRY原则的开源Web框架。核心特性包括ORM、自动URL路由、模板系统、表单处理和中间件支持。随后,文章指导读者如何搭建开发环境:安装Python,创建并激活虚拟环境,使用pip安装Django,创建项目及运行开发服务器。通过这些步骤,读者可以开始他们的第一个Django项目。
27 2
|
6月前
|
Python
深入Django(三)
本文详细介绍了Django视图(Views)。视图是Django中处理用户请求并返回响应的函数或类,负责应用程序逻辑。文章通过实例展示了如何创建简单视图、使用类视图以及如何与模板配合动态生成HTML内容。此外,还提到了视图处理表单、权限认证和错误处理的功能。总之,Django视图是应用的核心组件,用于处理业务逻辑和用户交互。
32 2
|
算法 前端开发 网络安全
【Django】Hello,DJango!
这样就在主目录下创建了一个自己的项目以下统称创建的项目路径为根目录(即ppeua_app/)
101 0
|
数据库 数据安全/隐私保护 Python
|
算法 前端开发 程序员
初识Django(一)
什么Django        Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
1601 0