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

0. 前言

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

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

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

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

本文包括两部分:

  1. 直接在 PythonAnywhere 新建项目
  2. 在 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 上新建项目并运行的过程十分简单,在此贴出流程图,查看教程或自己动手部署时做到心中有数。

2.1 注册登录

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

www.pythonanywhere.com

2.2 新建 web-app

然后按照提示依次选择框架和版本,完成配置:

next -> django -> Python3.5 -> next

2.3 修改 urls 和 views 文件

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

进入 Files 分页:

如下图所示修改urls文件:

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

2.4 运行

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

下面是见证奇迹的时刻!

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

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

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

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2016-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维技术迷

DNS服务器4013警告信息的解决方法

今天例行维护域控,发现一直出现DNS无法启动,一直在提示4013,感觉很不可思议。对比另外一台辅助域控的设置,都没有问题。只好一步一步的来细致的检查,终于被我找...

3446
来自专栏编程微刊

如何在本地运行查看github上的开源项目

1416
来自专栏java一日一条

JVM 开发者必看:傻瓜式编译 OpenJDK 7

LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇...

1032
来自专栏日常学python

30行Python代码实现自动收发邮件

生活或者工作中我们经常容易忘记一些事情,这时候我们需要借助一些事物来提醒我们。读者中应该有很多运维攻城狮和测试攻城狮,服务器有异常时需要提醒我们,自动化测试执行...

2303
来自专栏张善友的专栏

SQL Server 2005的负载均衡

SQL Server 2005仍然不直接地支持负载均衡——但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持。   目录 1...

22110
来自专栏编程微刊

在本地运行查看github上的开源项目

2653
来自专栏企鹅号快讯

g4e基础篇#4 了解Git存储库

Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git...

2396
来自专栏快乐八哥

Ajax几种常用模式

设计模式不是要遵循的标准,只不过是对增进行之有效的解决方案的总结。每个模式都凝聚了开发人员社区的集体智慧,而每个开发人员都可以决定是否在其应用中实现某个模式。 ...

20910
来自专栏网站漏洞修补

MetInfo漏洞如何修复以及网站安全防护

metinfo漏洞于2018年10月20号被爆出存在sql注入漏洞,可以直接拿到网站管理员的权限,网站漏洞影响范围较广,包括目前最新的metinfo版本都会受到...

1794
来自专栏java达人

KAFKA分布式消息系统

Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录、浏览、点...

3276

扫码关注云+社区

领取腾讯云代金券