设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 43548|回复: 18
打印 上一主题 下一主题

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

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2015-4-6 20:24:59 |显示全部楼层 |倒序浏览
web0.jpg
在 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 瞅瞅。上面的新手引导有中文版本。




someweb-0-code.py

189 Bytes, 下载次数: 100

附代码

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2015-5-5 21:29:57 |显示全部楼层
pandaqr 发表于 2015-5-4 21:41
老师你好, 我用的是mac ,python版本是2.7.6,但似乎没法装web.py,直接打sudo easy_install web.py, 显 ...


这个我也不知道什么问题
如果这样安装不行,你试试看直接下载web.py的代码,然后直接copy到python目录的site-packages目录下面
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2015-12-8 17:53:13 |显示全部楼层
一直潜行的猫 发表于 2015-12-8 16:56
1

name前后是两个下划线,系统定义的变量
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2016-3-27 23:05:23 |显示全部楼层
Kunz 发表于 2016-3-27 17:25
我安装web是这样的,是不是没有装成功啊?

看最后有没有successful
打开python命令行 import 一下,不报错就是成功了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2016-3-28 17:32:08 |显示全部楼层
Kunz 发表于 2016-3-28 12:33
应该是装成功了,可以import,没有报错,那是怎么回事呢??

import web不报错就装成功了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2016-8-26 16:10:18 |显示全部楼层
xk880099 发表于 2016-8-26 11:53
crossin先生 麻烦您帮我瞧瞧这个问题该如何解决呢,显示错误代码100131.

我是小白,网上查了没啥资料, ...

换个端口运行,然后看看是不是有什么防火墙或者杀毒软件先关掉,还有翻墙工具也可能会影响
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

7#
发表于 2017-2-5 00:12:21 |显示全部楼层
aq1001735 发表于 2017-2-4 11:10
127.0.0.1:4458 - - [04/Feb/2017 11:07:25] "HTTP/1.1 GET /" - 405 Method Not Allowed
127.0.0.1:4458 - ...

是不是代码里定义的方法 GET 写出小写了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2017-2-16 15:23:39 |显示全部楼层
Asgarder 发表于 2017-2-16 15:07
老师你好,当我运行完代码访问 http://127.0.0.1:8080/ 显示“127.0.0.1 拒绝了我们的连接请求。”我用的是 ...

在后台的输出里看下,确定代码是正常运行中无报错,且运行在 8080 端口
另外就是不要开全局翻墙的软件,或者也可能一些防火墙软件给拦住了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2017-2-17 13:06:36 |显示全部楼层
Asgarder 发表于 2017-2-16 15:48
刚才试出来了。原因是我之前一直是在IDE里面运行程序,刚才在cmd里面试了一下,就出来了。那么问题来了, ...

具体原因我也不清楚。每个编辑器对于控制台都有自己的实现,和系统的命令行毕竟不一样,有时难免会出兼容性的问题
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2017-8-17 10:50:08 |显示全部楼层
LoveChoa 发表于 2017-8-16 12:31
现在这个版本应该怎么安装呢

python 装好后自带有 pip,你用pip来安装就好了。
https://zhuanlan.zhihu.com/p/20760860
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-12 05:33 , Processed in 0.032712 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部