把你开发的网站免费发布到互联网上(1)

摘要

之前我们写过很多代码,但几乎都是在自己的电脑上运行的。如果别人要看,也只能在电脑上演示,或者把代码发给他运行。

之前我们写过很多代码,但几乎都是在自己的电脑上运行的。如果别人要看,也只能在电脑上演示,或者把代码发给他运行。

而在学习 web 开发,比如 Django、Flask、webpy 等框架的过程中,我们会有将网站上线的需求,用来测试或展示。

如何可以让我们写的网站通过互联网来访问呢?

本篇文章就将介绍如何免费且快速的在 PythonAnywhere 上部署自己的 Django 网站。与 PythonAnywhere 类似的免费平台还有 Heroku,Openshift 等,收费平台有阿里云、亚马逊 AWS、微软 Azure 等。

本文包括两部分:
直接在 PythonAnywhere 新建项目

在 PythonAnywhere 上部署已有项目

由于篇幅较长,我们将分两次推送。只是想尝尝鲜的同学可以用第一种方法,也就是今天推送的这部分内容。
想要完整的将本地或者 github 项目部署到 PythonAnywhere 的同学请使用第二种方法。我们将在下次推送中详细说明。

1. 部署前须知

1.1 部署环境

针对本次部署的一些说明:
Python 版本:3.5
Django 版本:1.10
数据库采用 Django 自带的 splite3

1.2 遇到问题怎么办

由于每个人的部署环境,代码量不一样,所以部署的过程中很可能会出现问题,所以在此贴出两个英语版本教程,可以结合本教程来看:
https://tutorial.djangogirls.org/en/deploy/
https://help.pythonanywhere.com/pages/DeployExistingDjangoProject
同时,PythonAnywhere 也提供了论坛,遇到错误时不妨在论坛上搜索一下错误信息,论坛地址如下:
https://www.pythonanywhere.com/forums/

PythonAnywhere 支持常用的 Python web 框架:Django、web2py、Flask、Bottle,也可以手动配置,还提供 MySQL 支持。免费账户可以创建一个项目,虽然在性能和流量上有限制,但作为学习用足够了。

2. 新建 PythonAnywhere 项目

在 PythonAnywhere 上新建项目并运行的过程十分简单,在此贴出流程图,查看教程或自己动手部署时做到心中有数。

把你开发的网站免费发布到互联网上(1)

2.1 注册登录

这个没啥特别的地方,不赘述。PythonAnywhere 网站:
www.pythonanywhere.com

2.2 新建 web-app

把你开发的网站免费发布到互联网上(1)

然后按照提示依次选择框架和版本,完成配置:
next --> django --> Python3.5 --> next

2.3 修改 urls 和 views 文件

这是新建项目最关键的一步。这里我们新增一条对网站根目录路径的响应处理,返回一个包含字符“hello,world”的网页。

进入 Files 分页:

把你开发的网站免费发布到互联网上(1)

如下图所示修改urls文件:

把你开发的网站免费发布到互联网上(1)

新建 views.py 文件后,添加如下代码:

把你开发的网站免费发布到互联网上(1)



2.4 运行

完成修改之后,需要点击一下 Reload 重新载入修改后的网站。

把你开发的网站免费发布到互联网上(1)

下面是见证奇迹的时刻!

打开你注册时设定的网址,将会看到如下图所示的页面:

把你开发的网站免费发布到互联网上(1)

以上,就是新建项目的整个过程。如果在此基础上增加页面,只需要对 urls.py、views.py 进行修改,必要时增加 models.py。基本上就是将本地开发搬到网页上操作。了解过 Django MTV 模式的同学是不是觉得很简单呢?

下回,我们将继续介绍如何部署已有项目到 PythonAnywhere 上。

免责声明:本文来自于网络,如有侵权,请联系本站管理员,将立即删除侵权内容!

weinxin
我的微信
有问题微信找我
DannyWu

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

Protected with IP Blacklist CloudIP Blacklist Cloud