python3+django2开发一个简单的人员管理系统过程详解

我来为你详细讲解一下“Python3+Django2开发一个简单的人员管理系统”的完整攻略。

1. 环境搭建

首先,我们需要先安装Python3和Django2。如果你还没有安装过这两个库,可以参照以下步骤进行安装:

  • 安装Python3:可到Python官网下载安装包,然后根据提示安装即可。
  • 安装Django2:在终端或命令行中执行以下命令:
$ pip install Django==2.2.12

2. 创建项目和应用

  • 创建Django项目:在终端或命令行中执行以下命令:
$ django-admin startproject management  # 这里'management'是项目名称,可以任意更改
  • 创建Django应用:在终端或命令行中执行以下命令:
$ cd management/
$ python manage.py startapp person  # 这里'person'是应用名称,可以任意更改

3. 数据库配置

  • 数据库配置:在项目的settings.py中,找到DATABASES,修改默认的数据库配置,如下示例:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'management',
        'USER': 'root',
        'PASSWORD': '123456',  # 这里需要替换成你自己的数据库密码
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}

4. 模型设计

  • 在应用person中,新建models.py文件,定义Person模型类。例如:
from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=128)
    age = models.IntegerField()
    gender = models.CharField(max_length=16)
    address = models.CharField(max_length=256)

5. 视图设计

  • 在应用person中,新建views.py文件。定义Person视图函数,用于实现对Person模型类进行增删改查操作。例如:
from django.shortcuts import render, redirect
from .models import Person

def person_list(request):
    persons = Person.objects.all()
    return render(request, 'person_list.html', {'persons': persons})

def person_add(request):
    if request.method == 'POST':
        name = request.POST['name']
        age = request.POST['age']
        gender = request.POST['gender']
        address = request.POST['address']
        person = Person(name=name, age=age, gender=gender, address=address)
        person.save()
        return redirect('person_list')

    return render(request, 'person_add.html')

def person_edit(request, id):
    person = Person.objects.get(id=id)
    if request.method == 'POST':
        person.name = request.POST['name']
        person.age = request.POST['age']
        person.gender = request.POST['gender']
        person.address = request.POST['address']
        person.save()
        return redirect('person_list')

    return render(request, 'person_edit.html', {'person': person})

def person_delete(request, id):
    person = Person.objects.get(id=id)
    person.delete()
    return redirect('person_list')

6. URL设计

  • 在应用person中,新建urls.py文件。定义Person URL。例如:
from django.urls import path
from .views import person_list, person_add, person_edit, person_delete

urlpatterns = [
    path('', person_list, name='person_list'),
    path('add/', person_add, name='person_add'),
    path('edit/<int:id>/', person_edit, name='person_edit'),
    path('delete/<int:id>/', person_delete, name='person_delete')
]
  • 在项目中urls.py中,添加Person URL。
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('person/', include('person.urls'))
]

7. 模板设计

  • 创建templates文件夹,用于存放html模板文件。
  • 在templates文件夹中,新建person_list.html、person_add.html、person_edit.html文件

person_list.html:

{% extends 'base.html' %}

{% block content %}
  <h2>Person List</h2>
  <a href="{% url 'person_add' %}">Add Person</a>
  <table border="1">
      <thead>
          <tr>
              <th>Name</th>
              <th>Age</th>
              <th>Gender</th>
              <th>Address</th>
              <th>Operation</th>
          </tr>
      </thead>
      <tbody>
          {% for person in persons %}
          <tr>
              <td>{{ person.name }}</td>
              <td>{{ person.age }}</td>
              <td>{{ person.gender }}</td>
              <td>{{ person.address }}</td>
              <td>
                <a href="{% url 'person_edit' person.id %}">Edit</a>
                <a href="{% url 'person_delete' person.id %}">Delete</a>
              </td>
          </tr>
          {% endfor %}
      </tbody>
  </table>
{% endblock %}

person_add.html:

{% extends 'base.html' %}

{% block content %}
  <h2>Add Person</h2>
  <form method="POST" action="{% url 'person_add' %}">
      {% csrf_token %}
      <label>Name:</label>
      <input type="text" name="name" /><br>
      <label>Age:</label>
      <input type="text" name="age" /><br>
      <label>Gender:</label>
      <input type="text" name="gender" /><br>
      <label>Address:</label>
      <input type="text" name="address" /><br>
      <input type="submit" value="Add" />
  </form>
{% endblock %}

person_edit.html:

{% extends 'base.html' %}

{% block content %}
  <h2>Edit Person</h2>
  <form method="POST" action="{% url 'person_edit' person.id %}">
      {% csrf_token %}
      <label>Name:</label>
      <input type="text" name="name" value="{{ person.name }}" /><br>
      <label>Age:</label>
      <input type="text" name="age" value="{{ person.age }}" /><br>
      <label>Gender:</label>
      <input type="text" name="gender" value="{{ person.gender }}" /><br>
      <label>Address:</label>
      <input type="text" name="address" value="{{ person.address }}" /><br>
      <input type="submit" value="Update" />
  </form>
{% endblock %}

8. 运行项目

  • 在终端或命令行中,执行以下命令,启动Django服务器:
$ python manage.py runserver
  • 打开浏览器,输入http://127.0.0.1:8000/person/,即可看到Person管理页面。

示例说明:

  • 示例1:新增Person信息
  • 点击页面左上方的“Add Person”按钮;
  • 在弹出的“Add Person”窗口中,填写需要新增的Person信息,如:Name=“Tom”, Age=“18”, Gender=“Male”, Address=“Beijing”;
  • 点击“Add”按钮,即可完成Person信息的新增操作。

  • 示例2:修改Person信息

  • 点击需要编辑的Person信息所在行的“edit”按钮;
  • 在弹出的“Edit Person”窗口中,修改需要修改的Person信息,如:Name=“Tom2”, Age=“20”, Gender=“Female”, Address=“Shanghai”;
  • 点击“Update”按钮,即可完成Person信息的修改操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3+django2开发一个简单的人员管理系统过程详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django笔记六之外键ForeignKey介绍

    这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法。 这是一种一对多的字段类型,表示两张表之间的关联关系。 本篇笔记的目录如下: on_delete related_name related_query_name 外键字段的保存 1、on_delete 假设有两个 application,app1 和 app…

    Django 2023年4月10日
    00
  • Django实现微信消息推送

    一 所需准备条件 微信公众号的分类 微信消息推送 公众号 已认证公众号 服务号 已认证服务号 企业号 基于:微信认证服务号 主动推送微信消息。前提:关注服务号环境:沙箱环境 沙箱环境地址: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 二 基本流程 注册开发者账号 获得:appI…

    Django 2023年4月11日
    00
  • django-rest-framework解析请求参数

    前言 前面的文章中编写了接口, 调通了接口文档. 接口文档可以直接填写参数进行请求, 接下来的问题是如何接受参数, 由于请求方式与参数序列化形式的不同, 接收参数的方式也有不同. 前提条件 服务端我们使用django-rest-framework编写接口. class ReturnJson(APIView): coreapi_fields=( DocPara…

    Django 2023年4月12日
    00
  • Django的模型层(2)- 多表操作(上)

    一、创建模型        例:我们来假定下面这些概念,字段和关系               作者模型:一个作者有姓名和年龄。               作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一(one-to-one)的关系。               出版社模型:出版社有名称,所在城市…

    Django 2023年4月10日
    00
  • Django unittest测试框架特性详解

    Django是一个非常流行的Python web框架,其中包括一个集成的unittest测试框架。在本攻略中,我们将详细介绍如何使用Django unittest测试框架。 步骤1:创建测试模块 首先,我们需要创建一个测试模块来存储我们的单元测试。我们可以在项目的根目录中创建一个名为“tests.py”的文件,或者创建一个名为“tests”的目录,并在其中创…

    Django 2023年3月13日
    00
  • 表单的增 删 改 查 django单表操作 增 删 改 查

            一、实现:增、删、改、查 1、获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据。 目的:通过classes(班级表数据库)里面的字段拿到对应的数据。   2、添加功能 配置url分发路由增加一个add_classes.html页面 写一个def add_…

    Django 2023年4月13日
    00
  • Python Django 数据库的相关操作详解

    下面是有关Python Django数据库相关操作的详细攻略。 1. Django操作数据库的基本步骤 Django中使用ORM(Object-Relational Mapping)方式来操作数据库。操作步骤如下: 1.1 创建模型类 在Django中,操作数据库的首要任务是定义模型类。通过模型类,Django就能自动生成相应的数据库表。下面是一个简单的Us…

    Django 2023年5月16日
    00
  • Django_调查问卷

    1、问卷的保存按钮  前端通过ajax把数据发过来后端处理数据,然后返回给前端2、对问卷做答  首先用户进行登录,验证  条件:1、只有本班的学生才能对问卷做答       2、已经参加过的不能再次访问      在前端显示的样式    显示当前问卷的问题  分为(单选,多选,打分,文本)(多选未做)    – 你对近期的工作有哪些意见、。?      1 …

    Django 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部