当前位置: 首页 > 工具软件 > karrigell > 使用案例 >

Karrigell 入门简介[2]

慕容恩
2023-12-01

Scripts和Services

Python scripts和Karrigell services将是python开发者使用Karrigell最容易接触的两个概念.Python scripts就是python的脚本,开发者使用print语句输出到用户浏览器的内容.如果你还不明白,建立一个testarea目录,然后我们将开始创建我们的第一个Python scripts.新建一个文件test.py:

print "<center>"
print "Hello!"
print "<br /><br />"
print "Karrigell is configured and working."
print "</center>"

在浏览器中打开这个文件,如果之前你的Karrigell都正确设置,那你将会看到输出的内容.
Python scripts也可以容易的使用表单.让我们再来创建一个简单的页面,用户可以在这个页面输入自己的名字.新建文件askname.py:

if QUERY.has_key ( "name" ):
   print "Your name is", _name + "."
else:
   print "What is your name?<br />"
   print "<form>"
   print "<input type='text' name='name' /><br />"
   print "<input type='submit' value='Proceed' />"
   print "</form>"

Karrigell services的编写和Python scripts类似.这个的作用是映射请求到用户指定的方法.指定方法的名字通过跟在Karrigell services后面进行传递.比如,下面这个url将会调用test这个方法

http://localhost/testarea/test.ks/test

让我们实际编写下这个例子

def index():
   print "Index function."
def test():
   print "Test function."

如果不传递方法名而使用这些Python scripts,你的程序会默认执行index方法.如果传递了方法名test,那test方法就会被调用.调用一个不存在的方法会抛出异常.
使用Karrigell services来处理表单传递的数据也很简单.让我们来创建一个ascname.ks

def index():
   print "What is your name?<br />"
   print "<form action='nameSubmit'>"
   print "<input type='text' name='name' /><br />"
   print "<input type='submit' value='Proceed' />"
   print "</form>"
def nameSubmit ( name ):
   print "Your name is", name + "."

当然,允许外部公开访问你的方法是一件很危险的事情,为了阻止不允许的用户访问你的方法,按照下面所述给你的方法加前缀:

def _private():
   pass

尝试访问_private方法将会抛出异常.

 类似资料: