我来为你详细讲解一下“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技术站