从零搭建可落地的荣誉数字档案馆系统,全程零门槛实操指南

前期准备

你只需要准备一台Windows/Mac/Linux电脑,按以下步骤操作即可,所有依赖都给出具体地址和命令:

  • 1. 安装Python 3.10,Windows64位安装包直接下载:点击下载,其他系统可以到Python官网对应页面下载,安装时必须勾选「Add Python 3.10 to PATH」选项,否则后续命令无法执行
  • 2. 安装Django 4.2,安装完成Python后,打开命令提示符(CMD),直接执行以下命令: ``` pip install django==4.2 ```

第一步:创建项目与应用

在你想要存放项目的文件夹打开CMD,依次执行以下命令:

``` django-admin startproject honor_archive cd honor_archive python manage.py startapp archive ```

第二步:修改项目配置

用代码编辑器打开项目根目录下honor_archive/settings.py,按以下步骤修改:

1. 注册应用

找到INSTALLED_APPS配置项,替换为以下完整可复制内容:

```python INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'archive', ] ```

2. 添加静态与媒体配置

settings.py文件的最末尾,添加以下配置:

```python STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') ```

3. 配置项目路由

打开项目根目录下honor_archive/urls.py,替换为以下完整内容:

```python from django.contrib import admin from django.urls import path, include from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), path('', include('archive.urls')) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ``` 此处必须添加末尾的static配置,否则上传的证书图片无法正常显示,这是最容易遗漏的步骤

第三步:设计数据模型并迁移数据库

打开archive/models.py,替换为以下完整内容,预定义了荣誉档案需要的所有字段:

```python from django.db import models class HonorArchive(models.Model): LEVEL_CHOICES = ( ('national', '国家级'), ('provincial', '省级'), ('city', '市级'), ('county', '县级'), ('unit', '单位内部'), ) honor_name = models.CharField(max_length=200, verbose_name='荣誉名称') winner = models.CharField(max_length=100, verbose_name='获得人/部门') honor_date = models.DateField(verbose_name='获得时间') issue_org = models.CharField(max_length=200, verbose_name='颁发单位') honor_level = models.CharField(max_length=20, choices=LEVEL_CHOICES, verbose_name='荣誉级别') certificate = models.ImageField(upload_to='certificates/', verbose_name='证书扫描件') remark = models.TextField(blank=True, null=True, verbose_name='备注') create_time = models.DateTimeField(auto_now_add=True, verbose_name='录入时间') class Meta: verbose_name = '荣誉档案' verbose_name_plural = verbose_name ordering = ['-honor_date'] def __str__(self): return self.honor_name ```

接下来执行数据库迁移命令,生成对应数据表:

``` python manage.py makemigrations python manage.py migrate ```

第四步:配置后台管理并创建账号

打开archive/admin.py,替换为以下内容:

```python from django.contrib import admin from .models import HonorArchive admin.site.register(HonorArchive) ```

执行以下命令创建后台超级管理员账号,按照提示输入用户名、邮箱、密码即可(密码要求8位以上,本地使用可以设置简单密码):

``` python manage.py createsuperuser ```

第五步:配置前台视图与页面

1. 新建应用路由

archive文件夹下新建urls.py文件,写入以下内容:

```python from django.urls import path from . import views urlpatterns = [ path('', views.honor_list, name='honor_list'), ] ```

2. 编写视图函数

打开archive/views.py,替换为以下内容:

```python from django.shortcuts import render from .models import HonorArchive def honor_list(request): honors = HonorArchive.objects.all() level_filter = request.GET.get('level') if level_filter: honors = honors.filter(honor_level=level_filter) return render(request, 'archive/list.html', {'honors': honors, 'current_level': level_filter}) ```

3. 新建前台页面

archive文件夹下依次新建文件夹路径:templates/archive,在该路径下新建list.html,写入以下内容(使用Bootstrap CDN,无需额外下载资源):

```html 荣誉数字档案馆

单位荣誉数字档案馆
{% for honor in honors %}
{% if honor.certificate %} {{ honor.honor_name }} {% endif %}
{{ honor.honor_name }}

获得人:{{ honor.winner }}

获得时间:{{ honor.honor_date }}

颁发单位:{{ honor.issue_org }}

荣誉级别:{{ honor.get_honor_level_display }}

{% if honor.remark %}

备注:{{ honor.remark }}

{% endif %}
{% empty %}
暂无荣誉档案,请先去后台录入
{% endfor %}

```

第六步:启动使用

在项目根目录执行以下命令启动系统:

``` python manage.py runserver ```

启动完成后,打开浏览器访问以下地址即可使用:

  • 前台档案馆:http://127.0.0.1:8000,支持按荣誉级别筛选查看,适配手机端访问
  • 后台录入:http://127.0.0.1:8000/admin,用之前创建的超级账号登录,即可新增、编辑、删除荣誉档案,上传证书扫描件

整套系统已经支持基础的荣誉档案数字化管理、展示需求,全程10分钟即可搭建完成,零门槛落地。如果需要公开访问,可以将项目部署到云服务器,使用域名绑定即可。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统