当前位置:  首页>> 技术小册>> Django快速开发实战

05 | 职位管理系统:开始Django之旅 —— 创建一个可以管理职位的后台

引言

在本章中,我们将正式踏上Django快速开发实战的旅程,通过构建一个职位管理系统来深入理解Django框架的核心概念与强大功能。职位管理系统是一个典型的后台管理系统,旨在帮助组织或企业高效地管理其内部的职位信息,包括但不限于职位的创建、编辑、删除以及查询等功能。通过本章节的学习,你将学会如何从头开始搭建一个基于Django的Web应用,并熟悉Django的模型(Models)、视图(Views)、模板(Templates)和表单(Forms)等关键组件。

准备工作

在开始之前,请确保你的开发环境中已经安装了Python和Django。如果尚未安装,可以通过Python的包管理工具pip来安装Django。打开你的命令行工具,执行以下命令:

  1. pip install django

安装完成后,你可以通过运行django-admin --version来检查Django是否成功安装,并查看其版本。

第一步:创建Django项目

首先,我们需要创建一个新的Django项目。在命令行中,切换到你想存放项目的目录,然后执行以下命令:

  1. django-admin startproject job_management_system

这条命令会创建一个名为job_management_system的文件夹,其中包含了Django项目的基础结构。进入该文件夹:

  1. cd job_management_system

第二步:创建应用

在Django中,应用(App)是项目的组件,负责处理特定的业务逻辑。对于我们的职位管理系统,我们可以创建一个名为jobs的应用。在项目根目录下(即包含manage.py的目录),执行以下命令:

  1. python manage.py startapp jobs

这将在你的项目中创建一个名为jobs的新文件夹,里面包含了应用的基础文件。

第三步:定义模型

模型是Django ORM(Object-Relational Mapping,对象关系映射)的核心,它允许我们以Python类的形式定义数据库中的表结构。在jobs/models.py文件中,我们定义职位的模型:

  1. from django.db import models
  2. class Job(models.Model):
  3. title = models.CharField(max_length=100, verbose_name="职位名称")
  4. description = models.TextField(verbose_name="职位描述")
  5. salary = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="薪资")
  6. created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
  7. updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")
  8. def __str__(self):
  9. return self.title
  10. class Meta:
  11. verbose_name = "职位"
  12. verbose_name_plural = "职位"

上述代码定义了一个Job模型,包含职位名称、描述、薪资、创建时间和更新时间等字段。

第四步:运行迁移

Django使用迁移(Migrations)来跟踪数据库结构的变更。为了将我们的模型同步到数据库中,我们需要先生成迁移文件,然后执行这些迁移。在项目根目录下,运行以下命令:

  1. python manage.py makemigrations
  2. python manage.py migrate

makemigrations命令会检测所有应用中的模型变更,并生成相应的迁移文件。migrate命令则会将这些迁移应用到数据库中,从而更新数据库结构。

第五步:创建管理员用户

Django自带了一个强大的后台管理系统,称为Django Admin。为了访问它,我们需要先创建一个管理员用户。在项目根目录下运行:

  1. python manage.py createsuperuser

按照提示输入用户名、邮箱和密码等信息,完成管理员用户的创建。

第六步:注册模型到Admin

为了让我们的Job模型出现在Django Admin中,我们需要在jobs/admin.py文件中注册它。如果该文件不存在,你可以手动创建它。然后添加以下内容:

  1. from django.contrib import admin
  2. from .models import Job
  3. admin.site.register(Job)

现在,当你通过浏览器访问Django Admin(通常是http://127.0.0.1:8000/admin/)并登录后,你将看到Job模型已被列在可用模型列表中,并可以对其进行增删改查操作。

第七步:自定义Admin界面

虽然Django Admin提供了基本的CRUD(Create, Read, Update, Delete)操作,但你可能想要自定义它的界面以满足特定的需求。例如,你可以通过修改admin.py中的注册代码来添加自定义的列表显示字段、过滤器或表单字段集。

  1. class JobAdmin(admin.ModelAdmin):
  2. list_display = ('title', 'salary', 'created_at')
  3. list_filter = ('created_at',)
  4. search_fields = ('title', 'description')
  5. admin.site.register(Job, JobAdmin)

这段代码为Job模型定义了一个自定义的Admin类JobAdmin,并设置了列表显示字段、列表过滤器和搜索字段。

第八步:运行开发服务器

最后,为了查看我们的职位管理系统在浏览器中的表现,可以启动Django的开发服务器:

  1. python manage.py runserver

默认情况下,服务器会在http://127.0.0.1:8000/上运行。现在,你可以打开浏览器,访问Django Admin页面,开始管理你的职位信息了。

结语

通过本章的学习,你已经成功创建了一个基于Django的职位管理系统后台。我们从头开始,逐步完成了Django项目的创建、应用的添加、模型的定义、迁移的执行、管理员用户的创建、模型的Admin注册以及界面的自定义。在这个过程中,你不仅掌握了Django的基本工作流程,还深入了解了Django的核心组件——模型、迁移、Admin等。接下来,你可以继续探索Django的其他高级功能,如视图、模板、表单等,以进一步完善你的职位管理系统。


该分类下的相关小册推荐: