1. Vue 和 Django 前后端分离实践 (注册功能)
-
注册页面
-
应用层
-
控制层
-
数据层(用户添加)
-
数据库(是否添加至数据库)
2. 注册列表获取数据库数据
3. 问题
3.1 https;http协议问题,
pip install django-sslserver
-
在setting.py 文件添加两处配置
-
使用注意 SECURE_SSL_REDIRECT
- 当SECURE_SSL_REDIRECT = False时,http请求无响应,https请求能正确访问。
- 当SECURE_SSL_REDIRECT = True时,http请求会重 定向https,此时django支持https,可正确访问。
-
生成证书命令
python manage.py runsslserver
Using SSL certificate: /Users/xx/Desktop/Django-test/venv/lib/python3.10/site-packages/sslserver/certs/development.crt
Using SSL key: /Users/xx/Desktop/Django-test/venv/lib/python3.10/site-packages/sslserver/certs/development.key
–cert 指定使用的证书
–key 指定使用的密钥
python manage.py runsslserver --certificate /Users/cqa/Desktop/Django-test/venv/lib/python3.10/site-packages/sslserver/certs/development.crt --key /Users/cqa/Desktop/Django-test/venv/lib/python3.10/site-packages/sslserver/certs/development.key
3.2 crsf认证问题
- 目前的方法是直接注释掉 crsf部分的配置
3.3 Django获取数据库 的内容 的类型问题
原本想使用Django 从数据库捞取 用户列表的所有数据,并返回给前端
- 使用Django 获取mysql数据时,是这样子的
- 需要注意reg 变量的数据类型问题,Django获取mysql后返回的是QuerySet类型,可能需要将其转为json格式或者需要的其他类型数据,
- 若转为json ,有两种办法
- serializers.serialize(“json”,QuerySet)
- json.dumps(QuerySet)
3.4 Django本地运行可以,但无法通过外部访问
- 配置setting.py,允许人意地址访问
- 重新运行Django ,运行命令时加入 0.0.0.0:8000
3.5 Django 接口数据正常获取,但vue前端 table数据无法正常显示
- 造成问题的原因是因为 this指向问题,funtion普通函数中this指向window: 所以如果需要在function函数中使用this对象,需要事先把this对象赋值给其他变量