乐趣区

关于django:基于Django的医案校对网站设计与实现

因为钻研须要对已采集的医案进行结构化解决并进行校对,故开发此网站,上面简略记录思路和一些步骤,免得前期遗记。

1 需要剖析设计

有三个表,在设计的 word 文档上。

2 构建 Django 我的项目

关上 Pycharm,创立一个 Django 我的项目,如下图。

3 创立 App

在我的项目下创立一个 case_check 的 app,用命令创立。
首先进入我的项目目录并启动虚拟目录,如图所示。

而后,用上面命令创立 app:
python manage.py startapp case_check
失去下图红色区域所示构造的 app。

4 编写 models

上面是原始医案的 model

class OriginCase(models.Model):
    content = models.TextField(verbose_name="医案内容")
    prescription = models.CharField(max_length=255, verbose_name="处方(方剂名称)")
    herbs = models.TextField(verbose_name="处方对应的中药汇合")
    syndrome = models.CharField(max_length=50, verbose_name="诊断的证型")
    symptoms = models.CharField(max_length=1024, verbose_name="症状汇合")
    symptom_elements = models.CharField(max_length=1024, verbose_name="证素汇合")
    source = models.CharField(max_length=100, verbose_name="来源于哪一本书或网站")
    doctor = models.CharField(max_length=100, verbose_name="开处方的医生名字")
    date = models.DateTimeField(auto_now_add=True, verbose_name="医案录入工夫")
    check_flag = models.CharField(max_length=10, verbose_name="是否曾经安顿校对,也就是此医案是否曾经进入到 checcase 表中")

5 数据迁徙

5.1 创立迁徙文件

完了之后,须要创立迁徙文件(migration)。
在命令行执行命令(要留神:case_check 是刚刚创立的 app,须要把这个带上,不然会提醒:No changes detected):

python manage.py makemigrations case_check

这时候报错:No installed app with label ‘case_check’.
剖析起因是 app 没有在 settings.py 文件中配置下来。
关上 settings.py 文件,在 INSTALLED_APPS 列表中退出刚刚创立的 case_check 这个 app,如下图红色框中局部:

再次在命令行中执行 python manage.py makemigrations case_check,如下提醒示意迁徙文件创建胜利:

(venv4network) D:\mypython\TCMWeb>python manage.py makemigrations case_check
Migrations for 'case_check':
  case_check\migrations\0001_initial.py
    - Create model OriginCase

5.2 执行数据迁徙

后面步骤中创立好数据迁徙文件之后,开始执行数据迁徙,数据迁徙实现之后,就会在数据库中创立对应的表。
首先,须要在 setting.py 中配置数据库连贯信息,默认状况下 Django 用的是 SQLlite,本我的项目用的 MySQL,所以须要重新配置。配置代码如下:

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': BASE_DIR / 'db.sqlite3',
    # }

    'default':
    {
        'ENGINE': 'django.db.backends.mysql',    # 数据库引擎
        'NAME': 'tcm', # 数据库名称
        'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1
        'PORT': 3306, # 端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '你的面目', # 数据库明码
    }
}

第二步,在配置好数据库之后,就开始执行迁徙命令:python manage.py migrate
失常状况下显示如下:

(venv4network) D:\mypython\TCMWeb>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, app1, auth, case_check, contenttypes, sessions
Running migrations:
  Applying case_check.0001_initial... OK

此时,关上 MySQL 数据库,可能看到曾经创立了你的表,不过须要留神的是,为了避免整个我的项目中呈现同名的 model 而导致数据库表雷同的状况,在数据库表名前主动给加上了 app 的名字。

退出移动版