cherrypy 入门笔记(1) hello world

cherrypy 是一个小型web框架,可以用来做一点小型玩具程序。最近闲的无聊,拿来学习一下.

hello world 应用

hello.py:

import cherrypy

import os.path

current_dir = os.path.dirname(os.path.abspath(__file__))

class Hello(object):
    content = """<html><head><title>hello</title>
    <link href="/static/hello-style.css" rel="stylesheet" type="text/css"/></head>
    <body>
    <h1 id="first-step">hello world</h1>
    <script src="/static/hello.js"></script>
    </body>
    </html>"""
    @cherrypy.expose
    def index(self):     # define the default page
        return Hello.content

    @cherrypy.expose
    def hello(self):     # define the hello page
        return "Hello"
    

if __name__ == '__main__':
    cherrypy.quickstart(Hello(), config={
        '/static':
        {'tools.staticdir.on': True,
         'tools.staticdir.dir': os.path.join(current_dir, "static")}
    })

css和js文件放在和python文件相同目录下的static文件夹中

css文件  hello-style.css:

h1#first-step {
    color: green;
    border: 1px dotted #d5d5d5;
    font-size: 30px;
     text-align:center;  
}

h1#first-step:hover {
    color: orange;
    font-size: 30px;
    border: 1px solid #e5e5e5;
    -webkit-transition: all 0.6s;
    -moz-transition: all 0.6s;
    -ms-transition: all 0.6s;
    -o-transition: all 0.6s;
    transition: all 0.6s;
}

为了好玩再加个js弹窗效果 hello.js :

alert("hello world!");

效果如下:

其中 __file__的用法 可以参考这里 http://andylin02.iteye.com/blog/933237

官方文档的说法是__file__是模块加载的路径。不过使用绝对路径,也就是文件目录下的static文件夹了。

但是使用IDLE下__file__没有定义,因为没有在任何文件中执行。

可以使用以下代码测试是否得到文件的绝对路径, 当然是要在命令行中执行的,或者在Windows下双击运行:

import os.path
current_dir = os.path.dirname(os.path.abspath(__file__))
print current_dir
raw_input()

就能显示出来当前执行python文件的文件夹路径了.

 

 

posted @ 2013-12-03 15:02  jaw-crusher  阅读(334)  评论(0编辑  收藏  举报