【Django2.0学习笔记】番外篇:在pythonanywhere部署

番外篇:在pythonanywhere部署

1、本次课程目的

  • 进一步激发大家的学习激情
    在这里插入图片描述

2、部署上线常见主机

  • 1、Pythonanywhere、heroku
  • 2、云主机:阿里云、亚马逊、其他各种云…

学习成本、经济成本、网站用途

在这里插入图片描述

打开 pythonanywhere
在这里插入图片描述

输入用户名、密码、邮箱,然后打开邮箱,点击链接 确认邮箱地址,进行注册
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里分四部分:控制台终端Consoles、文件Files、日志Notebooks、应用Web apps,加上右上角的导航栏
在这里插入图片描述

目前还不支持Django2.0,只支持到django1.11,pythonanywhere考虑到这个问题,它提供了一种方式是创建虚拟环境,在虚拟环境里面安装我们想要的版本就可以了,

点击“$Bash”,进入命令行界面,输入virtualenv --python=python3.6 venv 创建虚拟环境,指定Python版本,cd venvsource /bin/activate启动虚拟环境【按Tab可以看里面有哪些文件】。deactivate退出虚拟环境。
在这里插入图片描述
在这里插入图片描述

那我们虚拟环境有了,我们的代码有两种方式可以放到这个地方,一种是把代码上传到 github 里面,然后用get clone 把代码复制克隆下来,另一种方式就是直接上传文件,点击右上角的下拉菜单,点击“Files”,可以浏览得到当前目录下的文件。然后我们可以将我们的项目文件 mysite 打包成一个 zip 文件(在打包前我们需要做一个事情:进入项目下的 cmd,然后输入..\Scripts\activate进入虚拟环境,然后输入pip freeze > requirements.txt),然后点击 “Upload a file” 上传这个 zip 文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在命令行根目录输入ls可以看到mysite.zip,然后输入unzip mysite.zip解压,解压完之后删除zip包rm mysite.zipcd mysite进入项目根目录,输入pip install -r requirements.txt就可以一键安装这个txt文件里面的所有依赖库。
在这里插入图片描述
在这里插入图片描述

环境没问题,代码没问题,数据库也没问题。接着下一步我们开始部署

部署是在右上角的“Web”,点击“Add a new web app”创建一个新的app,选择“Manual configuration”——“Python3.6”——“Next”,然后我们访问页面,可以看到欢迎界面(因为我们还没部署好),说明这个域名可以访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

“Reload ”表示重新加载 重启服务器;
“Best before date”:免费有个条件,需要三个月内点一下更新一次,如果超过三个月就说明不活跃,它要节省一些资源就会把我们的Web app给删了;
“Code”需要填写一下:
Source code (源码的位置 ):/home/zzzf/mysite
Working directory(工作的目录):/home/zzzf/mysite
WSGI configuration file修改如下(可对比mysite/mysite/wsgi.py代码),保存:

import os
import sys

path = '/home/zzzf/mysite/mysite'	# settings.py的目录
if path not in sys.path:
	sys.path.append(path)

os.environ['DJANGO_SETTINGS_MOOULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

在这里插入图片描述

“Virtualenv”:虚拟环境填写:/home/zzzf/venv

然后点击Reload刷新,再访问,发现错误。
在这里插入图片描述

这里我们需要修改一下settings.py。有两种做法:一种是直接在服务器终端改,一种是本地改完后再上传。这里建议大家最好是本地改完之后再上传
添加代码:ALLOWED_HOSTS = ['zzzf.pythonanywhere.com'](这里也可以直接添加一个星号ALLOWED_HOSTS = ['*']代表所有的匹配,不过最好还是不要),然后再将settings.py这个文件上传一次

在这里插入图片描述
在这里插入图片描述

再重启服务器(每次对文件更新修改,都要刷新重启服务器),再访问页面就能访问得到
在这里插入图片描述
在这里插入图片描述

我们发现,页面的css没有成功,按F12可以看到,无法访问静态文件夹。我们需要在Web页面填写静态文件的url:
在这里插入图片描述

重新加载服务器,再访问页面
在这里插入图片描述

我们再进去后台http://zzzf.pythonanywhere.com/admin
在这里插入图片描述

我们发现样式没有了。这里我们还要做一个操作:收集静态文件。修改settings.py如下,新增代码STATIC_ROOT=os.path.join(BASE_DIR, 'static')
在这里插入图片描述

然后重新上传settings.py文件

然后回到控制台,我们输入python manage.py collectstatic,输入yes,开始收集静态文件。完成后,我们输入cd static进入到static所在目录,输入ls查看,可以看到多了admin和ckeditor这两个文件夹,这样就把这两个第三方库所用到的静态文件夹都收集过来了,
在这里插入图片描述
在这里插入图片描述

重启服务,刷新后台页面,发现成功,再输入用户名和密码登录,即可。
在这里插入图片描述

Web下面还有一个设置密码保护Password protection,如果你这个网站不想被其他人浏览,可以开启下面的“Password”,设置用户名和密码,重新Reload,再访问页面时就需要输入用户名和密码才能访问
在这里插入图片描述

另外还有上传文件的问题,有时候我们可能会一下修改很多文件,后面再重新上传,可能不知道改了什么文件,那这里我们用rm -Rf就会强制把整个文件夹删除掉,但是这样可能会删掉数据库。这里就需要用到Git【后面讲】

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值