【Vue+DRF生鲜电商】26.使用Pycharm远程代码调试服
专题:Vue+Django REST framework前后端分离生鲜电商
Vue+Django REST framework 打造前后端分离的生鲜电商项目(慕课网视频)。
Github地址:https://github.com/xyliurui/DjangoOnlineFreshSupermarket ;
Django版本:2.2、djangorestframework:3.9.2。
更多内容请点击 我的博客 查看,欢迎来访。
Pycharm远程代码调试
远程调试是用来做支付或第三方登陆调试的,因为这个一般都是有一个回调url,且这个url需要被公共访问到。
首先你得有一个公网可访问的服务器
上传代码到服务器
点击左上角 + ,添加服务器,输入Name,选择类型为SFTP
输入SFTP 帐密,然后Test,这个主要是测试自己的服务器能否正常连接
然后添加一个可访问端口,用于外部访问
创建映射,本地路径和服务器相对路径的映射
点击OK
这儿Project一定要选择项目根目录,否则只会上传所选择的目录。如果更改了某个文件,直接选择本文件上传即可,无需选择整个项目
服务器建立虚拟环境
服务器创建好后,需要创建虚拟环境,就直接用 python manage.py runserver
启动服务即可,暂不配置nginx和mysql
需要在服务器上建立虚拟环境,用于运行Django服务器
# 查看系统中的Python版本
root@StarMeow-Svr:~/django-web-test# pyenv versions
system
* 3.6.6 (set by /root/.pyenv/version)
3.6.6/envs/StarMeow
StarMeow
# 创建虚拟环境
root@StarMeow-Svr:~/django-web-test# pyenv virtualenv 3.6.6 DjangoOnlineFreshSupermarket
# 激活当前目录使用的虚拟环境,进入该目录就直接启动
root@StarMeow-Svr:~/django-web-test# pyenv local DjangoOnlineFreshSupermarket
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test#
安装需要的包,需先再本地使用pip freeze >packages.txt
导出,上传到服务器上使用
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test# ls
DjangoOnlineFreshSupermarket
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test# cd DjangoOnlineFreshSupermarket/
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test/DjangoOnlineFreshSupermarket# pip install -r packages.txt -i https://pypi.douban.com/simple/
启动服务器
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test/DjangoOnlineFreshSupermarket# ls
apps db_tools DRF+Vue生鲜电商平台.txt media utils
db.sqlite3 DjangoOnlineFreshSupermarket manage.py packages.txt
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test/DjangoOnlineFreshSupermarket# python manage.py runserver 0.0.0.0:8000
一定要先在安全组中允许8000端口外部访问
否则访问 http://xx.ip.ip.xx:8000/报错
DisallowedHost at /
Invalid HTTP_HOST header: 'xx.ip.ip.xx:8000'. You may need to add 'xx.ip.ip.xx' to ALLOWED_HOSTS.
接下来修改 settings.py 文件
# ALLOWED_HOSTS = []
ALLOWED_HOSTS = ["*"]
选择该文件,然后上传到服务器
重新run后就能看到api列表了。
本地解释器配置服务器环境
点击添加,选择已存在的服务器配置,因为在上传服务器中已经配置了服务器
点击 Move
查看虚拟环境的Python路径
# 已有的虚拟环境
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test/DjangoOnlineFreshSupermarket# pyenv virtualenvs
3.6.6/envs/DjangoOnlineFreshSupermarket (created from /root/.pyenv/versions/3.6.6)
3.6.6/envs/StarMeow (created from /root/.pyenv/versions/3.6.6)
* DjangoOnlineFreshSupermarket (created from /root/.pyenv/versions/3.6.6)
StarMeow (created from /root/.pyenv/versions/3.6.6)
# 查看路径
(DjangoOnlineFreshSupermarket) root@StarMeow-Svr:~/django-web-test/DjangoOnlineFreshSupermarket# ls /root/.pyenv/versions/DjangoOnlineFreshSupermarket/bin/python
添加服务器的Python虚拟环境,并选择同步服务器的路径/root/django-web-test/DjangoOnlineFreshSupermarket
,取消自动上传勾选
点击 Finish 完成
这儿会和服务器建立连接,看到服务器虚拟环境上已安装的包。
默认是启动在 http://127.0.0.1:8000/ ,所以 通过访问 http://xx.ip.ip.xx:8000/ 是无效的
修改改为 0.0.0.0
或者是服务器IP即可
本地重启,然后访问 http://xx.ip.ip.xx:8000/ 即可看到API列表