Advertisement

「基于Django的全民健康智慧中医数字服务平台」后端应用系统配置

阅读量:

试读内容

「基于Django的全民健康智慧中医数字服务平台」项目文章目录
「基于Django的全民健康智慧中医数字服务平台」中医问诊学习,开发原理理论基础
「基于Django的全民健康智慧中医数字服务平台 V2.0」产品设计&技术应用

如果你对中医充满热情,请留言讨论。如果能理解我的观点或建议对你有所帮助,则可以请我喝一杯沪上阿姨;感激之情溢于言表。

文章目录

内容简介

以家庭健康数字化服务为目标的 Django 平台

创建项目

复制代码
    # 创建项目命令行执行
    django-admin.exe startproject TCM_ManageMent
    
    
      
      
    
    代码解读

前端其他应用

导入并集成Xadmin和DjangoUeditor,在项目根目录中创建extra_apps文件夹,并将下载的Xadmin和DjangoUeditor复制到其中即可完成配置。配置完成后,请确保extra_apps文件夹的位置如图所示。

在这里插入图片描述

2.添加其他文件夹

复制代码
    # 根据自己需要进行添加,可以先添加后面使用到了再做说明
    
    apps 网站应用使用
    conf 配置nigix使用
    media 配置多媒体文件使用
    static 配置静态文件使用
    templates 配置html模板使用
    
    
      
      
      
      
      
      
      
    
    代码解读

配置文件setting.py

1.添加配置文件的路径

复制代码
    import os
    
    sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
    sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
    
    
      
      
      
      
    
    代码解读

2.配置调试参数

复制代码
    DEBUG = True # 这里未来搭建好网站之后使用False关闭即可
    ALLOWED_HOSTS = ['*']  # 修改成任何域名都可以访问
    
    
      
      
    
    代码解读

3.配置应用内容

复制代码
    INSTALLED_APPS = [
    	...
    	# 添加功能模块
    'xadmin',  # xadmin主体
    'reversion',  # 用于数据回滚
    
    'general_data', # 通用数据引用
    'articles', # 文章应用
    'users', # 用户应用
    'my_home', # 我的主页应用
    
    'crispy_forms',  # 展示表单
    'rest_framework',  # 前后端分离框架
    'rest_framework.authtoken',  # 用户Token
    'django_filters',  # 过滤器
    
    'DjangoUeditor',  # 富文本编辑器
    'rest_framework_swagger',
    
    'corsheaders',  # 跨域问题
    ]
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

4.配置前端模板TEMPLATES

复制代码
    # 这里直接复制过来就行了,可以解决大部分前端无法展示的问题
    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'libraries': {  # Adding this section should work around the issue.
                'staticfiles': 'django.templatetags.static',
            }
        },
    },
    ]
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

5.配置用户类继承model

复制代码
    # 直接添加即可对应你设置的用户列表模型
    AUTH_USER_MODEL = 'users.UserProfile'
    
    
      
      
    
    代码解读

6.解决跨域的问题

复制代码
    CORS_ALLOW_CREDENTIALS = True
    CORS_ORIGIN_ALLOW_ALL = True
    CORS_ORIGIN_WHITELIST = ('http://127.0.0.1:8000',)
    # CORS_ORIGIN_WHITELIST = ('你的API的部署IP',) # 部署到服务器上进行替换
    
    CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
    )
    
    CORS_ALLOW_HEADERS = (
    'XMLHttpRequest',
    'X_FILENAME',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
    'Pragma',
    )
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

7.配置数据仓库Mysql

复制代码
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'tcm_manage',
        'USER': '你的用户名',
        'PASSWORD': '你的密码',
        'HOST': '你的IP地址',
        'PORT': '你的端口号',
    }
    }
    
    
      
      
      
      
      
      
      
      
      
      
    
    代码解读

8.配置Mysql版本

复制代码
    # 修改以下目录的文件,否则mysql版本过高无法使用
    # 直接添加下面内容即可
    import pymysql
    pymysql.version_info = (1, 3, 13, "final", 0)
    pymysql.install_as_MySQLdb()
    
    
      
      
      
      
      
    
    代码解读
在这里插入图片描述

9.配置语言和时区

复制代码
    # 设置语言、时区
    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    USE_L10N = True
    USE_TZ = False  # 数据库存储使用时间,True时间会被存为UTC的时间
    
    
      
      
      
      
      
      
    
    代码解读

10.配置静态文件目录和媒体文件目录

复制代码
    # 添加静态文件路径
    STATIC_URL = '/static/'
    STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
    
    # 这个在配置nigix时候会使用,否则后台无样式,暂时不需要
    # STATIC_ROOT = os.path.join(BASE_DIR, "static")
    
    # 设置我们上传文件的路径
    MEDIA_URL = '/media/'
    MEDIAFILES_DIRS = (os.path.join(BASE_DIR, 'media'),)
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

11.配置REST_FRAMEWORK

复制代码
    # 根据自己的需要进行调整接口应用
    REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        # 'rest_framework.permissions.IsAuthenticated',            # IsAuthenticated 仅通过认证的用户
        # 'rest_framework.permissions.AllowAny',                   # AllowAny 允许所有用户
        # 'rest_framework.permissions.IsAdminUser',                # IsAdminUser 仅管理员用户
        # 'rest_framework.permissions.IsAuthenticatedOrReadOnly',  # IsAuthenticatedOrReadOnly 认证的用户可以完全操作,否则只能get读取
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        # 'rest_framework_simplejwt.authentication.JWTAuthentication',
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',  # 在 DRF中配置JWT认证
        'rest_framework.authentication.BasicAuthentication',  # 在 DRF中基础认证信息,特定认证修改使用
        # 'rest_framework.authentication.TokenAuthentication',  # 全局Token认证
        # 'rest_framework.authentication.SessionAuthentication',  # 全局Session认证
        # 'article.auth.MyTokenAuthentication',  # 自定义的带过期的认证
    ),
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
    ),
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.JSONParser',
    ),
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
    # 新版drf schema_class默认用的是rest_framework.schemas.openapi.AutoSchema
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

12.配置JWT身份认证

复制代码
    # 配置jwt载荷中的有效期设置
    JWT_AUTH = {
    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),  # 设置Token有效期
    'JWT_AUTH_HEADER_PREFIX': 'JWT',  # token前缀:headers中 Authorization 值的前缀
    'JWT_ALLOW_REFRESH': True,  # 刷新token:允许使用旧的token换新token
    # 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(hours=24),# token有效期:token在24小时内过期, 可续期token
    'JWT_RESPONSE_PAYLOAD_HANDLER': 'users.utils.jwt_response_payload_handler',  # 5.自定义JWT载荷信息:自定义返回格式,需要手工创建
    }
    
    
      
      
      
      
      
      
      
      
    
    代码解读

创建超级用户

要记得自己设置的用户名和密码

复制代码
    # 创建超级用户, 根据提示输入用户名、邮箱、密码,用于django后台管理系统登陆
    # 要记得自己设置的用户名和密码
    python manage.py createsuperuser 
    
    
      
      
      
    
    代码解读

全部评论 (0)

还没有任何评论哟~