Django--在Pythonanywhere部署Django。
Posted nanfeiyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django--在Pythonanywhere部署Django。相关的知识,希望对你有一定的参考价值。
1. 免费上线网址:www.pythonanywhere.com-->Pricing & signup(购买和注册)-->Free(免费)
2. Create Beginner account-->注册-->邮箱验证
3.进入界面,分四部分 :控制台Console、文件Files、日志Notebooks、创建web应用。
4.导航栏内容同上,tasks队列任务,数据库。
5.由于不支持Django2.0所以通过创建虚拟环境来使用Django2.0
点控制台Bash,进入命令行界面,使用Linux命令进行:
pwd:当前路径
ls:查看目录;ls -a 查看隐藏所有目录
cirtualenv --pyton=python 3.6 venv :创建虚拟环境,并且指定Python版本。默认安装setuptools,pip,wheel三个包。
source :tab键两次 查看文件。
source bin/activate :启动虚拟环境(venv)。
deactivate :退出虚拟环境 。
python :tab键两次 查看所有版本,Python:默认版本。
6.代码复制:方法一上传代码到github,然后从GitHub克隆clone下来。方法二直接上传文件到files。
生成项目库:进入本地虚拟环境,pip freeze > requirments.txt 。
把整个项目mysite压缩为zip文件。
控制台 files中上传(Upload a file)
进入控制台命令行解压 unzip mysite.zip 。
删除压缩文件 rm mysite.zip
7.安装环境 进入命令行
pip install -r requirments.txt 安装相应的软件及库。
8.部署 进入Web --> Add a new web app --> 按步骤操作,选虚拟环境virtualenvs 而不是Django -- > python3.6 -->完成。
配置:
源码位置 Source:/home/yangsh/mysite 命令行可以用pwd查看项目目录,并复制过来。
工作目录 Working directory:同上
WSGI文件修改:WSGI configurstion file:点击进入修改文件
只看DJANGO部分 在项目文件mysite/mysite/wsgi.py中有内容
import os
import sys
path -‘home/yangsh/myeite/mysite‘ 路径确保能找到settings文件。
if path not in sys.path
sys.path.append(path)
os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘mysite.settings‘
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
虚拟环境目录:/home/yangsh/ven 方法同上
9.修改settings文件设置
修改本地文件,重新上传
从页面提示中拷贝网址 “yangsh.pythonanywhere.com”到settings文件 ALLOVED_HOSTS
ALLOVED_HOSTS = [‘yangsh.pythonanywhere.com‘]
方括号中也可以填 [‘*‘],表示任何网址,这样不太安全。
保存setting是文件后,重新上传到files中,重启服务器。
10.静态文件夹设置 Static files
访问路径URL :/static/ 同settings设置
文件夹Directory :/home/yangsh/mysite/static 用pwd查找复制路径。
11.收集静态文件操作 settings.py 中STATIC_URL = ‘/static/‘ 之后插入
STATIC_ROOT = os.path.join(BASE_DIR,‘static‘)
保存后,再次上传。重启服务。
进入命令行,找到含manage.py 的目录执行 python manage.py collectstatic 命令。确定 选‘yes‘执行。 把对应的静态文件收集到static文件夹。
重启服务。
12.网站设置用户名和密码。可以不让别人查看。一般不用。
以上是关于Django--在Pythonanywhere部署Django。的主要内容,如果未能解决你的问题,请参考以下文章
简易博客开发----django1.9 博客部署到pythonanywhere上
Django 在 Pythonanywhere 上使用 Office365 发送电子邮件
如何将 Django 项目迁移到 Pythonanywhere
在 pythonanywhere 中托管时,django python 中的 Cloudinary Image Upload 错误