首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

Learn Python The Hard Way学习(50) - 您的第一个网站

2012-08-14 
Learn Python The Hard Way学习(50) - 你的第一个网站最后3章会很难,你必须花比较多的时间在上面。首先,你

Learn Python The Hard Way学习(50) - 你的第一个网站
最后3章会很难,你必须花比较多的时间在上面。首先,你要为你的游戏做一个简单的网页版本。所以你必须完成46章的练习,并且安装了pip软件包,和使用项目框架。如果你不记得了,回到46章复习一下。
安装lpthw.web开始web编程前,我们需要安装一个web框架,叫lpthw.web,框架的意思就是:一些让我们工作更加简便的包。在网页程序中,人们创建了很多这样的软件包,去完成不同的工作,我们可以下载下来去引导我们自己的项目。
这里我们选择lpthw.web,当然还有很多其他的框架,我们先学习这个,有兴趣的话可以学习其他的,其实lpthw.web已经足够好用了。
使用pip安装lpthw.web:root@he-desktop:~# pip install lpthw.webDownloading/unpacking lpthw.web  Downloading lpthw.web-1.1.tar.gz (87Kb): 87Kb downloaded  Running setup.py egg_info for package lpthw.webInstalling collected packages: lpthw.web  Running setup.py install for lpthw.webSuccessfully installed lpthw.webroot@he-desktop:~# 
创建一个简单的“Hello world”项目先创建项目目录:root@he-desktop:~/python# cd projects/root@he-desktop:~/python/projects# mkdir gothonwebroot@he-desktop:~/python/projects# cd gothonweb/root@he-desktop:~/python/projects/gothonweb# mkdir bin gothonweb tests docs templatesroot@he-desktop:~/python/projects/gothonweb# lsbin  docs  gothonweb  templates  testsroot@he-desktop:~/python/projects/gothonweb# touch gothonweb/__init__.pyroot@he-desktop:~/python/projects/gothonweb# touch tests/__init__.py
我们最后会把42章的游戏放进来,所以命名为gothonweb,不过现在我们需要先完成一个简单的程序。把下面的代码放到bin/app.py中:

import weburls = (    '/', 'index')app = web.application(urls, globals())render = web.template.render('templates/')class index(object):    def GET(self):        greeting = "Hello World"        return render.index(greeting = greeting)if __name__ == "__main__":    app.run()



注意render这个新变量,还有index.GET函数最后的返回值。
刷新你的浏览器,你会看到一些不同的变化。打开浏览器的源码,你可以看到对应的HTML代码。
下面解释一下模板的工作原理:
    在app.py中增加了一个新的变量render。这个变量是web.template.render的实例。这个render对象知道怎么加载templates文件夹中的html文件,因为我们给它传递了一个参数。然后,当运行到GET函数的时候,我们把greeting变量传递到render.index中。render.index方法是一个魔术方法,会在templates文件夹中寻找index.html文件。在index.html文件中,我们取得了greeting参数,就想函数一样,并且和python的缩进也是一样的,所以确定你写对他们。最后,html文件使用greeting变量,并且在相应位置打印出字符串。
改变greeting变量的值,你会看到浏览器会做相应的变化。再创建一个foo.html文件,我们可以使用render.foo()代替render.index()。
加分练习
    查看  http://webpy.org/  中的文档,它和lpthw.web的功能差不多。实践一下上面网站上看到的东西。了解一下HTML5和CSS3的知识。并且练习一下。如果你有朋友懂Django的话,你可以让他帮助你用Django完成下面50,51,52的练习。

热点排行