设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

174

主题

45

好友

10万

积分

管理员

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
回复

使用道具 举报

0

主题

0

好友

32

积分

新手上路

Rank: 1

沙发
发表于 2015-5-4 21:41:17 |只看该作者
老师你好, 我用的是mac ,python版本是2.7.6,但似乎没法装web.py,直接打sudo easy_install web.py, 显示有error。安装pip也是。  在Stackover上找到说应该这样安装: 1. Install easy_install
curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
2. Install pip
sudo easy_install pip
但似乎还是不行。
这是我的错误截图。。。非常感谢。
安装easy_install
屏幕快照 2015-05-04 下午9.33.55.png
安装web.py
屏幕快照 2015-05-04 下午9.39.23.png
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

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
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

地板
发表于 2015-12-8 16:56:33 |只看该作者
1

YG]5NF1UF1@%0[}{8OQN2}4.png (2.33 KB, 下载次数: 369)

返回的是 _name_ 没有被定义,代码没问题

返回的是 _name_ 没有被定义,代码没问题

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2015-12-8 17:53:13 |只看该作者
一直潜行的猫 发表于 2015-12-8 16:56
1

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

使用道具 举报

1

主题

1

好友

152

积分

注册会员

Rank: 2

6#
发表于 2016-3-27 17:16:10 |只看该作者
我出现如下错误

QQ图片20160327171545.png (5.27 KB, 下载次数: 327)

QQ图片20160327171545.png

回复

使用道具 举报

1

主题

1

好友

152

积分

注册会员

Rank: 2

7#
发表于 2016-3-27 17:25:41 |只看该作者
我安装web是这样的,是不是没有装成功啊?

QQ图片20160327171545.png (7 KB, 下载次数: 322)

QQ图片20160327171545.png

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2016-3-27 23:05:23 |只看该作者
Kunz 发表于 2016-3-27 17:25
我安装web是这样的,是不是没有装成功啊?

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

使用道具 举报

1

主题

1

好友

152

积分

注册会员

Rank: 2

9#
发表于 2016-3-28 12:33:39 |只看该作者
crossin先生 发表于 2016-3-27 23:05
看最后有没有successful
打开python命令行 import 一下,不报错就是成功了

应该是装成功了,可以import,没有报错,那是怎么回事呢??
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

10#
发表于 2016-3-28 17:32:08 |只看该作者
Kunz 发表于 2016-3-28 12:33
应该是装成功了,可以import,没有报错,那是怎么回事呢??

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

使用道具 举报

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

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

GMT+8, 2024-4-28 06:21 , Processed in 0.021091 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部