នៅក្នុងកម្មវិធី CherryPy ការទទួលយកទិន្នន័យបញ្ជូនមកពីទំរង់បែបបទផ្សេងៗ ក៏មិនខុសគ្នាពីការស្រង់យកទិន្នន័យពី parameter ទាំងឡាយ ដែលត្រូវបានភ្ជាប់មកជាមួយនឹងអាស័យដ្ឋានរបស់ទំព័រនានាឡើយ។ ពោលគឺទិន្នន័យទាំងនោះនឹងត្រូវស្រង់យកមកអោយ parameter មានឈ្មោះដូចគ្នានៃវិធីដែលត្រូវយកមកប្រើ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import cherrypy
class FormData(object):
@cherrypy.expose
def index(self):
return """
<html>
<head></head>
<body>
</body>
</html>
"""
@cherrypy.expose
def greet(self,gender,name):
if(gender == "male"):
title = "លោក
elif(gender == "female"):
title = "កញ្ញា"
return 'សួស្តី'+ title + ' ' + name + '!'
if __name__ == '__main__':
cherrypy.quickstart(FormData())
នៅពេលដែលយើងដំណើរការកម្មវិធីខាងលើនេះ និងបើក browser ចូលទៅកាន់ទំព័រដើមរបស់វា ដែលមានអាស័យដ្ឋានជា http://localhost:8080/ វិធីឈ្មោះ index នៅក្នុងថ្នាក់មេ នឹងត្រូវយកមកប្រើ ដែលជាប្រការធ្វើអោយទំរង់បែបបទមួយត្រូវបានបង្កើតឡើងដូចនៅក្នុងរូបខាងលើនេះ។ ហើយបើយើងលប់អ្វីៗនៅក្នុងទំរង់បែបបទនោះចៅលទាំងអស់ ព្រមទាំងសរសេរបញ្ចូលទិន្នន័យថ្មីដូចនៅក្នុងរូបខាងលើនេះ រួចចុចបញ្ជូនទិន្នន័យថ្មីនេះទៅអោយ server វិធីឈ្មោះ greet នឹងត្រូវយកមកប្រើ ហើយទិន្នន័យទាំងនោះនឹងត្រូវបញ្ជូនទៅអោយ parameter មានឈ្មោះដូចគ្នានៅក្នុងវិធីឈ្មោះ greet នោះ ដែលនឹងសរសេរបង្ហាញព័ត៌មាននៅលើ browser ដូចនៅក្នុងរូបខាងក្រោមនេះ៖

មួយវិញទៀត យើងសង្កេតឃើញថា ទិន្នន័យរបស់ទំរង់បែពបទ ដែលត្រូវបញ្ជូនអោយទៅ server នោះ ត្រូវបានលេចចេញឡើងជាប្រភេទ parameter ភ្ជាប់ទៅនឹងអស័យដ្ឋានរបស់ទំព័រដែលត្រូវបើកមើល។ ប្រការនេះក៏មកពីទំរង់បែបបទដែលត្រូវបង្កើតនោះ ប្រើប្រាស់វិធី GET ក្នុងការបញ្ជូនទិន្នន័យ។ ក៏ប៉ុន្តែ បើសិនជាយើងមិនចង់អោយគេឃើញទិន្នន័យទាំងនោះទេ យើងចាំបាច់ត្រូវប្រើប្រាស់វិធីឈ្មោះ POST នៅក្នុងទំរង់បែបបទខាងលើ។ តែយើងត្រូវចាំថា ការប្រើប្រាស់វិធីឈ្មោះ GET ឬវិធីឈ្មោះ POST នឹងមិនធ្វើអោយកម្មវិធី CherryPy ផ្តល់លទ្ធផលខុសគ្នាឡើយ៕