- 安装 mysql 并启动,建一个新的 database:
create database ${your database name}
- 将 mysql 的用户名、密码、database名记录下来,并替换 aelous/settings.py 中的 Databases 配置
- 建立 virtualenv 并启动服务:
pip3 install virtualenv
cd Backend
virtualenv --no-site-packages venv
source venv/bin/activate # Windows: source venv/Script/activate
pip install django
pip install django-cors-headers
pip install djangorestframework
pip install validators
pip install pymysql
python manage.py makemigrations
python manage.py migrate
python manage.py runserver 8000
- 可能的 bugs 和解决方案: https://blog.csdn.net/lijing742180/article/details/91966031
Backend/login
登录、注册和登出的接口已写好
修改密码和忘记密码的接口已写好
注册邮箱验证和重置(忘记)密码邮箱验证接口已写好
URL:http://127.0.0.1:8000/user/login/
http方法:POST
前端需要提供的json数据参数,格式如下:
{
"username": "", /*用户名*/
"password": "", /*密码*/
}
当登录成功时,后端返回的json数据格式如下:
{
"status": "ok", /*ok和error分别对应登录成功与登录失败*/
"type": "account", /*当status为error时,type显示具体错误信息;ok则为account*/
"currentAuthority": "user/admin" /*用户权限分为user和admin*/
}
URL:http://127.0.0.1:8000/user/register/
http方法:POST
前端需要提供的json数据参数,格式如下:
{
"username": "", /*用户名*/
"password1": "", /*密码*/
"password2": "", /*重复密码,需要两次密码一致才可成功注册*/
"email": "", /*邮箱,一个邮箱只能注册一个账号*/
"authority": "", /*用户权限,分为user和admin*/
}
当注册成功时,后端返回的json数据格式如下:
{
"status": "ok", /*ok和error分别对应注册成功与注册失败*/
"type": "register", /*当status为error时,type显示具体错误信息;ok则为register*/
}
后端会生成一个验证码,并向该账号注册的邮箱发送一封包含验证链接的邮件。用户点击链接后即可完成验证。
URL:http://127.0.0.1:8000/user/logout/
http方法:POST
前端调用该接口时,需要处于登录状态,并将登录状态下的cookie传给后端。
登出成功时,后端返回的json数据格式如下:
{
"status": "ok", /*ok和error分别对应登出成功与登出失败*/
"type": "logout", /*当status为error时,type显示具体错误信息;ok则为logout*/
}
URL:http://127.0.0.1:8000/user/change/
http方法:POST
前端在调用该接口时,用户应当处于登录状态,并将登录状态下的cookies传给后端。前端需要提供的json数据参数,格式如下:
{
"oldpsw": "", /*现有密码,用来验证*/
"newpsw": "", /*修改后的密码*/
}
注:新旧密码不能相同,新密码不能为空。
当修改成功时,后端返回的json数据格式如下:
{
"status": "ok", /*ok和error分别对应修改成功与修改失败*/
"type": "changePassword", /*当status为error时,type显示具体错误信息;ok则为changePassword*/
}
URL:http://127.0.0.1:8000/reset/
http方法:POST
当登录时选择忘记密码,后端会随机生成重置密码发送给用户绑定的邮箱。前端需要提供的json数据参数,格式如下:
{
"username": "", /*重置密码的账号用户名*/
}
当重置成功时,后端返回的json数据格式如下:
{
"status": "ok", /*ok和error分别对应重置成功与重置失败*/
"type": "changePassword", /*当status为error时,type显示具体错误信息;ok则为resetPassword*/
}
Aeolus/login
实习添加收藏、查看收藏、删除收藏的接口已写好
研究助理添加收藏、查看收藏、删除收藏的接口已写好
URL:http://127.0.0.1:8000/user/interns/get/
http方法:GET
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
当查看成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "interns", /*当status为error时,type字段显示错误信息;否则为interns*/
"content": [{"index": "", "job": "", "job_link": "", "company_name": "", "city": "", "duration": "", "frequency": "", "salary": "",}] /*当status为error时无content字段;否则返回收藏实习列表*/
}
URL:http://127.0.0.1:8000/user/interns/post/
http方法:POST
前端需要提供的json参数格式为:
{
"content": ["",] /*该用户新的收藏研究助理index号码列表*/
}
前端在调用该接口时,用户应处于登录状态,并将用户登录时的cookie传给后端。
当修改成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应修改成功与修改失败*/
"type": "interns", /*当status为error时,type字段显示错误信息;否则为interns*/
"content": [{"index": "", "job": "", "job_link": "", "company_name": "", "city": "", "duration": "", "frequency": "", "salary": "",}] /*当status为error时无content字段;否则返回收藏实习列表*/
}
URL:http://127.0.0.1:8000/user/ras/get/
http方法:GET
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
当查看成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "ras", /*当status为error时,type字段显示错误信息;否则为ras*/
"content": [{"index": "", "title": "", "location": "", "link": "",}] /*当status为error时无content字段;否则返回收藏研究助理列表*/
}
URL:http://127.0.0.1:8000/user/ras/post/
http方法:POST
前端需要提供的json参数格式为:
{
"content": ["",] /*该用户新的收藏实习index号码列表*/
}
前端在调用该接口时,用户应处于登录状态,并将用户登录时的cookie传给后端。
当修改成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应修改成功与修改失败*/
"type": "ras", /*当status为error时,type字段显示错误信息;否则为ras*/
"content": [{"index": "", "title": "", "location": "", "link": "",}] /*当status为error时无content字段;否则返回收藏研究助理列表*/
}
URL:http://127.0.0.1:8000/user/researches/get/
http方法:GET
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
当查看成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "researches", /*当status为error时,type字段显示错误信息;否则为researches*/
"content": [{"index": "", "name": "", "link": "", "approaches": "",}] /*当status为error时无content字段;否则返回收藏研究列表*/
}
URL:http://127.0.0.1:8000/user/researches/post/
http方法:POST
前端需要提供的json参数格式为:
{
"content": ["",] /*该用户新的收藏实习index号码列表*/
}
前端在调用该接口时,用户应处于登录状态,并将用户登录时的cookie传给后端。
当修改成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应修改成功与修改失败*/
"type": "researches", /*当status为error时,type字段显示错误信息;否则为researches*/
"content": [{"index": "", "name": "", "link": "", "approaches": "",}] /*当status为error时无content字段;否则返回收藏研究列表*/
}
URL:http://127.0.0.1:8000/user/forum/get/
http方法:GET
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
当查看成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "forums", /*当status为error时,type字段显示错误信息;否则为forums*/
"content": {"forum_name":"","time":"","link":"","location":"","organization_name":""} /*当status为error时>无content字段;否则返回论坛信息*/
}
URL:http://127.0.0.1:8000/user/favourite/get/
http方法:GET
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
查看收藏夹,当查看成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "favourites", /*当status为error时,type字段显示错误信息;否则为favourites*/
"content": [ {"forum_name":"","time":"","link":""}] /*当status为error时>无content字段;否则返回收藏信息*/
}
URL:http://127.0.0.1:8000/user/addFavourite/post/
http方法:POST
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
添加收藏内容,当添加收藏成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "addFavouriteOk", /*当status为error时,type字段显示错误信息;否则为addFavouriteOk*/
}
URL:http://127.0.0.1:8000/user/deleteFavourite/post/
http方法:POST
前端调用该接口时,用户应当处于登录状态,并将用户登录时的cookie传给后端。
删除收藏的内容,当删除成功时,后端返回的json参数为:
{
"status": "ok", /*ok和error分别对应查看成功与查看失败*/
"type": "deleteFavouriteOk", /*当status为error时,type字段显示错误信息;否则为deleteFavouriteOk*/
}