iHealth 项目的后台程序(一个基于 Django 和 MongoDB 的 Web 后端)

网友投稿 738 2022-10-26

iHealth 项目的后台程序(一个基于 Django 和 MongoDB 的 Web 后端)

iHealth 项目的后台程序(一个基于 Django 和 MongoDB 的 Web 后端)

iHealth-site

iHealth 项目的后台程序

依赖

Django==1.8.17pymongo==3.4.0uWSGI==2.0.15

启动项目

本地启动(windows):

python manage.py runserver 0.0.0.0:8000

打开浏览器访问 http://127.0.0.1:8000/ 出现 Hello, I am iHealth ' backend! 表示启动成功 测试其它接口 获取文章列表:http://127.0.0.1:8000/api/v1/articlelist 获取文章详情:http://127.0.0.1:8000/api/v1/articledetail?id=59eefad4e6c80c707840adc2

TODO

【接口】获取文章首页列表 【接口】获取文章详情 【接口】用户登陆验证 【接口】模糊匹配指定用户名,返回符合的用户列表 【接口】获取用户详情 【接口】用户注册 【接口】根据 id 批量请求用户信息 【接口】点赞数更新 【接口】推荐列表 个性化推荐文章 【接口】获取用户个人病历 【接口】获取某用户的主治医生信息 【接口】个人信息的修改 【接口】医生为病人添加病历

接口说明

API 接口采用 RESTful 规范设计

什么是 RESTful 请看:怎样用通俗的语言解释REST,以及RESTful? - 知乎

获取首页文章列表

示例:http://ihealth.yangyingming.com/api/v1/articlelist?page=1&limit=10&userID=5a02e30be6c80c1c9ecdaea7&cate=recommend

请求方式:GET

参数默认值说明
page1取第几页的数据
limit10一次取多少个
userIDNone用户ID,个性化推荐用
cateNone首页文章分类,'recommend'为推荐

获取文章详情

示例:http://ihealth.yangyingming.com/api/v1/articledetail?id=59eefad4e6c80c707840adc2&userID=5a02e30be6c80c1c9ecdaea7

请求方式:GET

参数默认值说明
idNone取指定id的文章详情
userIDNone用户ID,个性化推荐用

点赞接口

示例:http://ihealth.yangyingming.com/api/v1/updateUpvote?id=59eefad4e6c80c707840adc2&userID=5a02e30be6c80c1c9ecdaea7

请求方式:GET

参数默认值说明
idNone取指定id的文章详情
userIDNone用户ID,个性化推荐用

用户登陆验证

示例:http://ihealth.yangyingming.com/api/v1/usercheck

请求方式:POST

参数默认值说明
emailNone待验证用户的邮箱
passwordNone待验证用户的密码

模糊匹配指定用户名,返回符合的用户列表

示例:http://ihealth.yangyingming.com/api/v1/userlist?name=小明

请求方式:GET

参数默认值说明
name''模糊匹配条件
selfname''需要排除的name值
limit10最多匹配多少条结果

获取用户详情

示例:http://ihealth.yangyingming.com/api/v1/user?id=59fb1595dfdeee2b4c26c346

请求方式:GET

参数默认值说明
idNone用户id

用户注册

示例:http://ihealth.yangyingming.com/api/v1/reguser

请求方式:POST

参数默认值说明
emailNone注册邮箱
passwordNone密码
nicknameNone用户昵称
nameNone用户真实姓名
sexNone性别 0:女 1:男
usertypeNone用户类别 0:游客 1:患者 2:医生 3:管理员
birthdayNone用户出生日期
introductionNone个人介绍
ageNone用户年龄
phoneNone注册手机号

根据ID批量获取用户信息

示例:http://ihealth.yangyingming.com/api/v1/userlistbyid?id=59fb1595dfdeee2b4c26c347,59fb1595dfdeee2b4c26c348

请求方式:GET

参数默认值说明
idNone要获取的用户id,可以是多个

修改昵称

示例:http://ihealth.yangyingming.com/api/v1/changeNickname

请求方式:POST

参数默认值说明
idNone要修改昵称的用户id
newNameNone修改后的昵称

修改手机号

示例:http://ihealth.yangyingming.com/api/v1/changePhone

请求方式:POST

参数默认值说明
idNone要修改手机号的用户id
newPhoneNone修改后的手机号

修改姓名

示例:http://ihealth.yangyingming.com/api/v1/changeName

请求方式:POST

参数默认值说明
idNone要修改姓名的用户id
newNameNone修改后的姓名

修改性别

示例:http://ihealth.yangyingming.com/api/v1/changeSex

请求方式:POST

参数默认值说明
idNone要修改性别的用户id
newSexNone修改后的性别

修改密码

示例:http://ihealth.yangyingming.com/api/v1/changePassword

请求方式:POST

参数默认值说明
idNone要修改密码的用户id
oldPasswordNone原密码
newPasswordNone新密码

修改出生日期

示例:http://ihealth.yangyingming.com/api/v1/changeBirthday

请求方式:POST

参数默认值说明
idNone要修改出生日期的用户id
newBirthdayNone新的出生日期

添加病历

示例:http://ihealth.yangyingming.com/api/v1/addMedicalRecord

请求方式:POST

参数默认值说明
idNone要添加病历的用户id
dateNone添加病历的日期
doctorNone添加病历的主治医生
contentNone病历内容

Django 搭建笔记(笔记部分,和项目无关)

创建项目目录

django-admin startproject iHealth_site

运行自带服务器进行测试

python manage.py runserver 0.0.0.0:8000

注意:想要外网访问需要在 settings.py 的 ALLOWED_HOSTS = ['*']

创建app目录

python manage.py startapp mysite

MongoDB 配置

开启 MongoDB 权限认证:在配置文件中加入 auth = true 创建管理员用户(如果你是第一次使用 MongoDB)

use admindb.createUser({user:"admin",pwd:"admin123",roles:["userAdminAnyDatabase"]})

管理员用户用来创建其他数据库和用户

使用管理员账户远程登录

C:\Users\cs>mongo [your_ip]:27017> use adminswitched to db admin> db.auth('admin','admin123')1

创建 iHealth 数据库,以及操作该数据库的用户

use iHealth // 创建 iHealth 数据库,并作为认证数据库db.createUser({ user:'admin', // 用户名 pwd:'admin123', // 用户密码 roles:[{role:'readWrite',db:'iHealth'}] // 为该用户赋予数据库的读写权限})

使用该用户远程登录 iHealth 数据库

C:\Users\cs>mongo [your_ip]:27017> use iHealthswitched to db iHealth> db.auth('admin','admin123')1> db.getCollectionNames()[ ]

数据库刚刚创建,所以没有数据

参考资料

client 提交post 到 django出现403错误 http://blog.csdn-/watsy/article/details/9009847

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:scala数据结构和算法-04-快速排序实现
下一篇:手写简版kedis分布式key及value服务的实现及配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~