一、前期环境准备
本系统基于Python+Django开发,自带轻量SQLite数据库,无需额外部署数据库服务,全程只需复制命令操作即可完成搭建,无技术门槛。
1. 安装Python环境
直接从官方地址下载安装包:https://www.python.org/downloads/,选择对应系统的3.10版本即可,安装时必须勾选「Add Python to PATH」选项,否则后续命令无法执行,安装完成后打开命令提示符输入python --version,输出版本号即说明安装成功。
2. 安装项目依赖
打开命令提示符,直接执行以下命令,一次性安装所有需要的依赖:
```
pip install django django-import-export openpyxl
```
如果下载速度慢,可换国内镜像源执行,命令改为:
```
pip install django django-import-export openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple
```
二、初始化项目结构
1. 创建项目和应用
在命令提示符中,切换到你要存放项目的目录(比如执行cd D:\projects切换到D盘的projects文件夹),依次执行以下命令:
```
django-admin startproject fund_archive_system
cd fund_archive_system
python manage.py startapp fund_archive
```
执行完成后会自动生成所有基础目录结构,不需要手动创建文件夹。
2. 修改系统配置
打开项目根目录下fund_archive_system/settings.py文件,找到INSTALLED_APPS配置项,替换为以下完整内容,其他配置保持默认即可:
```
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
新增的配置项
'import_export',
'fund_archive',
]
```
三、定义基金档案数据模型

打开fund_archive/models.py文件,删除原有内容,直接复制以下完整代码,涵盖基金档案管理所有核心字段:
```
from django.db import models
class FundArchive(models.Model):
档案基础信息
fund_code = models.CharField(max_length=20, unique=True, verbose_name='基金代码')
fund_name = models.CharField(max_length=100, verbose_name='基金名称')
FUND_TYPE_CHOICES = (
('股票型', '股票型'),
('债券型', '债券型'),
('混合型', '混合型'),
('货币型', '货币型'),
('指数型', '指数型'),
('其他', '其他'),
)
fund_type = models.CharField(max_length=20, choices=FUND_TYPE_CHOICES, verbose_name='基金类型')
manager = models.CharField(max_length=100, verbose_name='基金管理人')
custodian = models.CharField(max_length=100, verbose_name='基金托管人')
establish_date = models.DateField(verbose_name='成立日期')
initial_net = models.DecimalField(max_digits=10, decimal_places=4, verbose_name='初始净值')
STATUS_CHOICES = (
('正常运作', '正常运作'),
('清盘', '清盘'),
('暂停申购', '暂停申购'),
)
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='正常运作', verbose_name='运作状态')
update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
remark = models.TextField(blank=True, null=True, verbose_name='备注')
class Meta:
verbose_name = '基金档案'
verbose_name_plural = verbose_name
ordering = ['-establish_date']
def __str__(self):
return f"{self.fund_code} {self.fund_name}"
```
执行以下命令,生成数据库表结构,这一步不要省略顺序:
```
python manage.py makemigrations
python manage.py migrate
```
四、配置后台管理功能
打开fund_archive/admin.py文件,删除原有内容,复制以下完整代码,自动增加搜索、过滤、批量导入导出实用功能:
```
from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from .models import FundArchive
@admin.register(FundArchive)
class FundArchiveAdmin(ImportExportModelAdmin):
列表页显示字段
list_display = ('fund_code', 'fund_name', 'fund_type', 'manager', 'status', 'establish_date', 'update_time')
按类型和状态快速过滤
list_filter = ('fund_type', 'status')
支持按代码和名称模糊搜索
search_fields = ('fund_code', 'fund_name')
支持在列表页直接修改状态
list_editable = ('status',)
```
五、启动系统并开始使用
1. 创建管理员账号
执行以下命令,按照命令行提示输入管理员用户名、邮箱和密码(密码至少8位,请记住账号密码后续登录用):
```
python manage.py createsuperuser
```
2. 启动系统
执行启动命令:
```
python manage.py runserver
```
启动成功后,打开浏览器访问地址:http://127.0.0.1:8000/admin,输入刚才创建的管理员账号密码即可登录管理后台。
3. 核心功能使用说明
- 新增单条档案:点击基金档案右侧的「增加」按钮,填写对应信息保存即可完成录入。
- 批量导入档案:点击页面上方的「导入」按钮,上传整理好的Excel档案文件(表头和模型字段名保持一致即可,系统会自动匹配对应字段),确认后即可完成批量导入,一次可导入上千条档案。
- 搜索筛选档案:页面右上方搜索框输入基金代码或关键词即可搜索,左侧侧边栏可按基金类型、运作状态快速筛选。
- 导出档案:勾选需要导出的档案,选择导出操作即可导出为标准Excel文件,方便备份和对外交付。
六、局域网共享使用配置
如果需要机构内部多人共同管理档案,先停止当前运行的服务,然后执行以下启动命令:
```
python manage.py runserver 0.0.0.0:8000
```
查询本机的局域网IP(Windows系统执行ipconfig,Mac/Linux系统执行ifconfig即可查看),同一局域网内的其他用户访问http://你的局域网IP:8000/admin即可登录共同管理,不需要额外购买云服务器就能实现多人协作。