Python 实战(0):初识 web.py

在 Python 系列的基础课程结束之后,很长一段时间我不知道该写点什么。再加上工作很忙,也没法很系统地写一些教程文章。于是之前东拉西扯说过不少方面的东西,也分享过一些别人的文章。但我始终还是觉得该写点什么,虽然更新的频率不会很高。

有些初学 Python 的同学表示能不能提供一些实例,结合基础知识的学习。也有不少已经完成基础内容学习的同学询问,如何可以进一步提高编程能力。鉴于此,我想接下来的一段时间,做一个比较长的系列:这个系列会以一个项目为主线,过程中大概不会专门针对某一个内容去讲,基本是写到哪讲到哪,比较随意。目前对这个项目的初步设定是一个关于电影的网站,会涉及到网站搭建、爬虫、数据处理、数据库等内容,也会稍为涉及一点HTML相关的内容。

以这样的方式来做,对于初学编程的人,可以对软件开发这件事情有个更直观的认识,不再局限于用代码解题这种层面;对于已经有一定的编程基础人,我希望能抛砖引玉,给大家一点启发。你们可以在我这个虚拟项目的基础上,添加自己喜欢的功能,也可以仿照这个流程另起炉灶,做一些自己设计的项目。对于我自己来说,也可以更好地分享一些编程中的经验,而不是再和网上可以搜到的众多教程一样反复炒冷饭。

目前想法:如果进展顺利,会把项目放在 Github 上维护,同时也会在互联网上放置一个可运行的版本供人使(wei)用(guan)。这都是后话了。

那么今天先开个场:既然要做一个跟网站相关的项目,少不了要选择一个基于 Python 的 web 开发框架。这次我打算选择 web.py。我本人对 django 的经验比较多,web.py 并没有用过。不过都说 web.py 很简单,那么用来玩一玩也无妨。同时,也算是对 Aaron Swartz 致以我个人的敬意。

安装 web.py

web.py 有几种下载方式,通常用 easy_install 会比较方便一点。关于 easy_install 的使用网上可以很容易搜到,这里不再赘述。安装 easy_install 后,Linux 和 Mac 下都可以通过命令

sudo easy_install web.py

完成安装。Windows 下应该不用 sudo,手边没有 Win 系统无法验证,见谅。

或者也可以通过 pip 安装、下载或 clone 安装包等方式进行安装。

在你的 Python 命令行下输入

import web

无任何报错说明已安装成功。

运行你的第一个网站

在一个你找得到的地方新建一个叫做 code.py 的文件,然后输入敲入以下代码并保存:

import web


urls = (
    '/', 'index'
)


class index:
    def GET(self):
        return "Hello, world!"


if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

具体这些代码的含义今天先不解释,保证不要输错就好。

从命令行进入 code.py 所在的目录,运行:

python code.py

不出意外的话,应该会看到输出:

http://0.0.0.0:8080/

用浏览器打开这个地址,就可以看到一个只写着 Hello, world! 的页面。不过有些浏览器(比如我的 Chrome)会不认 0.0.0.0 这个地址而进行搜索。如果遇到这种情况,可以在运行时指定地址为 127.0.0.1,即:

python code.py 127.0.0.1

然后访问 http://127.0.0.1:8080/ 就 OK 了。

也许这就是你人生第一个网站吧,想想是不是还有点小激动呢。前方的路还很长,欲速则不达,且行且珍惜。

如果你按捺不住想要了解更多,可以先去 webpy.org 瞅瞅。上面的新手引导有中文版本。

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

原文发表时间:2015-03-29

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

游戏服务端究竟解决了什么问题?

当讨论到游戏服务端的时候,我们首先想到的会是什么?要回答这个问题,我们需要从游戏服务端的需求起源说起。

2694
来自专栏知晓程序

「大众点评点餐」小程序开发经验 06:解析开发工具

邹弓一,美团点评前端工程师,4年 Web 前端开发经验,现在是美团点评点餐团队的一员。

1283
来自专栏魏艾斯博客www.vpsss.net

Linux 服务器压力测试工具 – webbench 安装及使用教程

4493
来自专栏技术点滴

Linux内核源码分析方法

Linux内核源码分析方法 一、内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透...

6547
来自专栏华仔的技术笔记

ios开发小结之重构及随想

2787
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

【React Native实战教程】GitHub Trending API数据的获取

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://www.devio.org) 项目开源地址:GitHub Popular,Git...

3918
来自专栏cloudskyme

关于压缩js和css的小软件开发的随想

最近开始接触C++,所以非常想用C++做一些东西,前两天更新迅雷的程序,更新完之后,眼前一亮,界面有了很大的改进,不清楚是使用什么技术实现的, 因为最近在弄MF...

3758
来自专栏java思维导图

为什么前后端分离了,你比从前更痛苦?

前后端分离早已经不是新闻,当真正分离之后确遇到了更多问题。要想解决现在的痛,就要知道痛的原因:

722
来自专栏Web行业观察

为什么前后端分离了,你比从前更痛苦?

前后端分离早已经不是新闻,当真正分离之后确遇到了更多问题。要想解决现在的痛,就要知道痛的原因:

1684
来自专栏AI科技大本营的专栏

6月Python开源项目Top 10:如何快速找到抖音上的漂亮小姐姐……

【人工智能头条导读】开源项目对大家的学习工作都非常有用,今天我们为大家推荐过去一个月受到热烈关注的 10 个开源项目。其中有一个项目非常贴近我们的日常生活:一名...

1524

扫码关注云+社区

领取腾讯云代金券