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 字段查询谓词表

    Django 字段查询谓词表 谓词 含义 示例 等价SQL语句 exact 精确等于 Comment.objects.filter(id__exact=14) select * from Comment where id=14 iexact 大小写不敏感的等于 Comment.objects.filter(headline__iexact=’I like t…

    Django 2023年4月12日
    00
  • Django信号机制执行过程及其应用

    Django信号机制是它框架中的核心部分,用于执行某些操作时触发某些事件。例如,在保存一个模型实例时,我们可以使用信号来在保存前或保存后执行某些操作。 Django信号机制的基本执行流程如下: 为信号定义一个接收器函数(或回调函数),该函数将在信号被发送时执行。 将接收器函数与信号关联。 当信号被发送时,所有与之关联的接收器函数都将被执行。 下面是一个简单的…

    Django 2023年3月13日
    00
  • Vue + Django实现分页实例讲解

    Vue + Django + BootstrapVue实现分页,前端后台实例讲解     1、后台Django代码      def storage(req): ”’ 存储图片接口: 1、根据roomid查询出数据 ”’ # 从数据库选出所需数据 roomid = req[‘roomid’] data_list = Memory.objects.filt…

    Django 2023年4月12日
    00
  • Django实现分页功能

    Django是一个基于MVT模式的Web框架,提供了方便的分页功能,可以进行快速的实现。在实践中,分页功能也是Web应用中必不可少的一部分。 本文将详解Django实现分页功能的完整攻略,过程中提供代码示例。 首先,需要安装Django框架,可以使用pip进行安装。 pip install django 在视图函数中,需要对数据进行分页处理。假设有一个数据模…

    Django 2023年3月13日
    00
  • Django介绍

    1. 简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。 劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。 这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。 由于Djang…

    Django 2023年4月13日
    00
  • Django中的缓存机制及其实现方法

    什么是缓存? 简单来说,缓存就是将计算结果或数据存储到内存或其他更快存储介质中,以便后续请求快速访问,提高性能和响应速度。类似的概念常被用于Web框架和数据库中,用以优化性能和响应速度。 Django中的缓存机制 Django提供了多个缓存选择和多种缓存技术,包括内存缓存,数据库缓存,文件系统缓存等。Django默认使用的是基于内存的缓存,在Django的s…

    Django 2023年3月13日
    00
  • django中操作mysql数据库的方法

    操作mysql数据库是Web开发中的核心内容之一,而Django是一个Web开发框架,提供了方便快捷的方式操作各种类型的数据库。本文将详细介绍如何在Django中操作MySQL数据库,同时提供两个示例说明。 准备工作 首先需要安装Django和PyMySQL两个库,可以使用pip来安装: pip install django pip install pymy…

    Django 2023年5月16日
    00
  • Django通用视图APIView和视图集ViewSet的介绍和使用(Django编程-1)

    1.APIView DRF框架的视图的基类是 APIViewAPIView的基本使用和View类似 Django默认的View请求对象是 HttpRequest,REST framework 的请求对象是 Request。Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。HttpRequest.GET ————> Request.…

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