将本地的代码同步Github 然后再把代码从Github同步到 pythonanywhere 。
Git
Git是一个被大量程序员使用的”版本控制系统”。 此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本。
创建Git 版本库
Git跟踪一组特定的在代码仓库(或简称“仓库”)中文件的更改。 我们开始用git管理自己的项目吧。 打开你的终端,进入MAC 用户的根目录 文件夹运行以下的命令:
$ git init
Initialized empty Git repository in /Users/mofu/.git/
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
让Git 忽略特定文件
输入命令 git status
查看一下当前会被追踪的文件。这里我们只需要以下目录和文件被追踪。
blog/
db.sqlite3
manage.py
mysite/
在用户目录(mofu)创建一个名称为.gitignore
的文件。 打开编辑器,创建新文件并写入以下内容(git status 出现到的 排除上面的,得出下面的列表)
*.pyc
__pycache__
myvenv
.DS_Store
.CFUserTextEncoding
.atom/
.bash_history
.bash_sessions/
.config/
.gitconfig
.gitignore
.gitignore_global
.hgignore_global
.oracle_jre_usage/
.python_history
.ssh/
.stCommitMsg
.vscode/
Applications/
Desktop/
Documents/
Downloads/
GitBook/
Library/
Movies/
Music/
Pictures/
Public/
文件被创建成功,但是看不到,应为它是.开头的。
保存我们的更改
输入 git add --all
保存 上面的 4个文件和文件夹。
推送我们的代码到 Github
访问 https://github.com/new 创建一个仓库,.gitignore 选项为无 (我们已经手动创建了) ,让License设置为无。
在下一屏中,你将看到你的仓库克隆 URL。选择“HTTPS”版本,拷贝地址,我们马上要把它粘贴到终端:
第一次执行需要做以下操作git add .
添加所有的改动git commit -m "init"
发送刚刚添加的所有的改动,并命名 initgit remote add origin https://github.com/zfl420/my-first-blog.git
选择上传到的仓库git push -u origin master
上传,并按照提示输入账号密码,就成功了。
git log 可以查看git的日志。
history|tail 可以查看终端的命令历史。
这个时候,在github上就可以看到这个仓库已经被更新了。
在 PythonAnywhere 设置我们的博客
在pythonAnywhere 创建一个 begingner账户,账号名称会是你的用户名 https://www.pythonanywhere.com
这是我的首页 http://zfl420.pythonanywhere.com/
在 PythonAnywhere 上拉取我们的代码
点击 Bash 启动 PythonAnywhere 给我们提供的命令行工具
打开 Bash后,在PythonAnywhere里面输入西面的命令,后面的链接是仓库地址。
git clone https://github.com/zfl420/my-first-blog.git
把代码下载到了 PythonAnywhere后,通过命令
tree my-first-blog
查看本地的项目 my-first-blog 的树形结构。
在PythonAnywhere上创建Virtulalenv
进入 my-first-blogcd my-first-blog
命令 virtualenv --python=python3.6 myvenv
创建虚拟环境
命令source myvenv/bin/activate
进入虚拟环境
命令 pip install django whitenoise
安装 whitenoise
whitenoise
什么是”whitenoise”白噪音? 它是用来服务所谓的“static files”静态文件的工具。 静态文件是很少改动或者并非可运行的程序代码的那些文件,比如 HTML 或 CSS 文件。 在我们的计算机上,它们以不同的方式工作,我们需要比如“whitenoise”这样的工具来为其服务。在教程后续编辑网站 CSS 章节会介绍更多有关静态文件的内容。
收集静态文件
命令 python manage.py collectstatic
告诉 Django 去收集服务器上所有需要的静态文件。
执行完毕 会提示
61 static files copied to '/home/zfl420/my-first-blog/static'.
在 PythonAnywhere 上创建数据库
命令 python manage.py migrate
初始化数据库
创建超级用户
python manage.py createsuperuser
按照要求输入用户名、邮箱和密码
新建一个 new web app
选择Manual configuration 再选 python 3.6.
注意 不要选择 Django
设置 virtualenv
在选项卡 Virtualenv: 里面输入
/home/zfl420/my-first-blog/myvenv
保存后如图
配置WSGI文件
Django 使用 “WSGI 协议”,它是用来服务 Python 网站的一个标准。PythonAnywhere 支持这个标准。 PythonAnywhere 识别我们 Django 博客的方式是通过配置 WSGI 配置文件。
点击这个wsgi.py文件。
他会出现一个编辑器,然后删除里面的内容,并且替换成以下内容。
import os
import sys
path = '/home/zfl420/my-first-blog' # use your own username here
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
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(get_wsgi_application())
注意: 第三行那个路径(path)换成自己的博客路径。
这个文件的作用是告诉 PythonAnywhere 我们的Web应用程序在什么位置,Django 设置文件的名字是什么。它也设置 “whitenoise” 静态文件工具。
Reload
出现一个错误
这个时候需要把,zfl420.pythonanywhere.com 放到ALLOWED_HOSTS
里面。
完美解决。
第二个问题
我在本地设置的 superuser 用户名是 mofu , 但是我在pythonanywhere 上设置为mofu的时候是失败的,于是我就把 zfl420 设置为了 superuser。
所以,在登陆 zfl420.pythonanywhere.com/admin/ 的时候,用的用户名是 zfl420。
上线了!
好啦,可以访问啦