Django+Vue生鲜电商

【Vue+DRF生鲜电商】26.使用Pycharm远程代码调试服

2019-08-07  本文已影响13人  吾星喵

专题:Vue+Django REST framework前后端分离生鲜电商

Vue+Django REST framework 打造前后端分离的生鲜电商项目(慕课网视频)。
Github地址:https://github.com/xyliurui/DjangoOnlineFreshSupermarket
Django版本:2.2、djangorestframework:3.9.2。

更多内容请点击 我的博客 查看,欢迎来访。

Pycharm远程代码调试

远程调试是用来做支付或第三方登陆调试的,因为这个一般都是有一个回调url,且这个url需要被公共访问到。

首先你得有一个公网可访问的服务器

上传代码到服务器

BLOG_20190807_230621_25

点击左上角 + ,添加服务器,输入Name,选择类型为SFTP

输入SFTP 帐密,然后Test,这个主要是测试自己的服务器能否正常连接

然后添加一个可访问端口,用于外部访问

BLOG_20190807_230615_84

创建映射,本地路径和服务器相对路径的映射

BLOG_20190807_230610_46

点击OK

BLOG_20190807_230604_29

这儿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 = ["*"]

选择该文件,然后上传到服务器

BLOG_20190807_230552_44

重新run后就能看到api列表了。

本地解释器配置服务器环境

BLOG_20190807_230544_92

点击添加,选择已存在的服务器配置,因为在上传服务器中已经配置了服务器

BLOG_20190807_230539_44

点击 Move

BLOG_20190807_230533_54

查看虚拟环境的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,取消自动上传勾选

BLOG_20190807_230525_13

点击 Finish 完成

BLOG_20190807_230515_47

这儿会和服务器建立连接,看到服务器虚拟环境上已安装的包。

默认是启动在 http://127.0.0.1:8000/ ,所以 通过访问 http://xx.ip.ip.xx:8000/ 是无效的

BLOG_20190807_230507_41

修改改为 0.0.0.0或者是服务器IP即可

BLOG_20190807_230501_50

本地重启,然后访问 http://xx.ip.ip.xx:8000/ 即可看到API列表

BLOG_20190807_230455_51
上一篇 下一篇

猜你喜欢

热点阅读