2006年12月12日 星期二 09:30
¾¹ý¸÷λµÄÌáʾºÍ2ÌìµÄŬÁ¦ÖÕÓÚÓÐÁ˽á¹û,ÏÂÃæÊÇpylonsµÄconntroller²Ù×÷mysqlºÍ´«µÝ²ÎÊýµÄÀý×Ó,: #!c:/activepython # -*- coding: utf-8 -*- from helloword.lib.base import * from helloword.models.inii8 import * import MySQLdb class PageController(BaseController): def index(self,title): #¿ØÖÆÆ÷ÖпÉÒÔ²åÈëÖÐÎÄ,°ÑÎļþ±£´æΪutf±àÂë c.content=u"lllllllllllllllllllllllllllÎ÷°àÎ÷°àlllllllllll" return render_response('/page.myt') def insert(self): conn = MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") cu = conn.cursor() name=request.params['cname'] print "name=%s" % name isql = """insert into test(cname) values(%s )""" para = (name) cu.execute("""insert into test(cname) values(%s )""",name) #cu.execute(isql,para) conn.commit() fd='' cu.execute("select cname from test ") for row in cu.fetchall(): for fdr in row: print fdr fd=fdr #return Response(fd) #c.content=u'\u4e2d\u56fd' c.content=fd #conn.close() return render_response('/page.myt') ================================================== ÉÏÃæµÄ´úÂë±È½ÏÂÒµ«ÊÇ˵Ã÷Á˽â¾öÎÊÌâµÄÒªµã. 1.Ê×ÏÈpythonµÄ´úÂëÎļþÐèÒªÓÃutf-8±àÂë±£´æ,pylonsÖеÄtemplateºÍÍøÒ³ÎļþÒ²ÐèÒªutf-8±àÂë; 2.ÐèÒª ÉùÃ÷#!c:/activepython # -*- coding: utf-8 -*- 3.³ÌÐòÖгöÏÖµÄÖÐÎÄ×îºÃ²ÉÓÃunicode±àÂë:Èçc.content=u" aaaÎ÷°àÎ÷°àll23l" »òÕß×öºÃ±àÂëת»»c.content=u'\u4e2d\u56fd'(javaµÄstruts´¦Àí¹ú¼Ê»¯ÎÊÌâʱÊÇÕâÑù´¦ÀíµÄ ) 4.mysqlÁ¬½ÓÉùÃ÷:conn = MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") 5.sqlÓï¾ä²ÉÓÃÈýÒýºÅ:isql = """insert into test(cname) values(%s )""" (msyqldbµÄÎĵµÖÐÊÇÕâÑù×öµÄ) ==================================================== ÕæµÄͦÂé·³,²»ÖªµÀÓÐûÓиü¼òµ¥µÄ·½·¨?²»ÖªµÀÊÇÔÚ¸¸ÀàBaseController×öºÃ´¦Àí,»¹ÊÇ×ö¸öfilterÄØ?ÁíÍâ±¾È˶ÔpylonsÖеÄrouterºÍtemplate»¹±È½Ï²»½â,ÈçºÎ¶¨Òå¶à¸öController²¢½øÐÐÅäÖÃ?ÔÚÒ»¸öÒ³ÃæÖÐÒýÓöà¸ötemplate?Ï£ÍûÄܹ»µÃµ½´ó¼ÒÖ¸µ¼.. -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20061212/282dc05b/attachment-0001.html
2006年12月12日 星期二 09:40
On 12/12/06, janux <janux在boulder.com.cn> wrote: > > > 经过各位的提示和2天的努力终于有了结果,下面是pylons的conntroller操作mysql和传递参数的例子,: > #!c:/activepython > # -*- coding: utf-8 -*- > from helloword.lib.base import * > from helloword.models.inii8 import * > import MySQLdb > class PageController(BaseController): > def index(self,title): > #控制器中可以插入中文,把文件保存为utf编码 > c.content=u"lllllllllllllllllllllllllll西班西班lllllllllll" > return render_response('/page.myt') > > def insert(self): > conn = > MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") > cu = conn.cursor() > name=request.params['cname'] > > print "name=%s" % name > isql = """insert into test(cname) values(%s )""" > para = (name) > cu.execute("""insert into test(cname) values(%s )""",name) > #cu.execute(isql,para) > conn.commit() > fd='' > cu.execute("select cname from test ") > for row in cu.fetchall(): > for fdr in row: > print fdr > fd=fdr > #return Response(fd) > #c.content=u'\u4e2d\u56fd' > c.content=fd > #conn.close() > return render_response('/page.myt') > ================================================== > 上面的代码比较乱但是说明了解决问题的要点. > 1.首先python的代码文件需要用utf-8编码保存,pylons中的template和网页文件也需要utf-8编码; > 2.需要 声明#!c:/activepython # -*- coding: utf-8 -*- > 3.程序中出现的中文最好采用unicode编码:如c.content=u" aaa西班西班ll23l" > 或者做好编码转换c.content=u'\u4e2d\u56fd'(java的struts处理国际化问题时是这样处理的 > ) > 4.mysql连接声明:conn = > MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") > 5.sql语句采用三引号:isql = """insert into test(cname) values(%s )""" > (msyqldb的文档中是这样做的) > ==================================================== > 真的挺麻烦,不知道有没有更简单的方法?不知道是在父类BaseController做好处理,还是做个filter呢?另外本人对pylons中的router和template还比较不解,如何定义多个Controller并进行配置?在一个页面中引用多个template?希望能够得到大家指导.. > > pylons需要这么麻烦吗?怎么感觉基本上没有封装啊,是不是有问题啊。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2006年12月12日 星期二 10:24
Pylons是使用sqlalchemy或者sqlobject的,为什么要把connection和SQL语句写在controller里面? -----Original Message----- From: python-chinese-bounces在lists.python.cn [mailto:python-chinese-bounces在lists.python.cn]On Behalf Of limodou Sent: Tuesday, December 12, 2006 9:41 AM To: python-chinese在lists.python.cn Subject: Re: [python-chinese]mysqldb操作的中文问题解决了,但是对pylons还 很不了解 On 12/12/06, janux <janux在boulder.com.cn> wrote: > > > 经过各位的提示和2天的努力终于有了结果,下面是pylons的conntroller操作mysql和传递参数的例子,: > #!c:/activepython > # -*- coding: utf-8 -*- > from helloword.lib.base import * > from helloword.models.inii8 import * > import MySQLdb > class PageController(BaseController): > def index(self,title): > #控制器中可以插入中文,把文件保存为utf编码 > c.content=u"lllllllllllllllllllllllllll西班西班lllllllllll" > return render_response('/page.myt') > > def insert(self): > conn = > MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") > cu = conn.cursor() > name=request.params['cname'] > > print "name=%s" % name > isql = """insert into test(cname) values(%s )""" > para = (name) > cu.execute("""insert into test(cname) values(%s )""",name) > #cu.execute(isql,para) > conn.commit() > fd='' > cu.execute("select cname from test ") > for row in cu.fetchall(): > for fdr in row: > print fdr > fd=fdr > #return Response(fd) > #c.content=u'\u4e2d\u56fd' > c.content=fd > #conn.close() > return render_response('/page.myt') > ================================================== > 上面的代码比较乱但是说明了解决问题的要点. > 1.首先python的代码文件需要用utf-8编码保存,pylons中的template和网页文件也需要utf-8编码; > 2.需要 声明#!c:/activepython # -*- coding: utf-8 -*- > 3.程序中出现的中文最好采用unicode编码:如c.content=u" aaa西班西班ll23l" > 或者做好编码转换c.content=u'\u4e2d\u56fd'(java的struts处理国际化问题时是这样处理的 > ) > 4.mysql连接声明:conn = > MySQLdb.connect("localhost",user="root",passwd="root",db="sp9",charset="utf8") > 5.sql语句采用三引号:isql = """insert into test(cname) values(%s )""" > (msyqldb的文档中是这样做的) > ==================================================== > 真的挺麻烦,不知道有没有更简单的方法?不知道是在父类BaseController做好处理,还是做个filter呢?另外本人对pylons中的router和template还比较不解,如何定义多个Controller并进行配置?在一个页面中引用多个template?希望能够得到大家指导.. > > pylons需要这么麻烦吗?怎么感觉基本上没有封装啊,是不是有问题啊。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou _______________________________________________ python-chinese Post: send python-chinese在lists.python.cn Subscribe: send subscribe to python-chinese-request在lists.python.cn Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn Detail Info: http://python.cn/mailman/listinfo/python-chinese
2006年12月12日 星期二 11:24
On 12/12/06, janux <janux在boulder.com.cn> wrote: > > 真的挺麻烦,不知道有没有更简单的方法?不知道是在父类BaseController做好处理,还是做个filter呢?另外本人对pylons中的router和template还比较不解,如何定义多个Controller并进行配置?在一个页面中引用多个template?希望能够得到大家指导.. > 建议: 1) 先去找本书看看,熟悉一下MVC的概念 2) 先用Django或者TurboGears, 玩得有感觉了,再来用pylons或者simpleweb -- simple is good http://brucewang.net skype: number5
Zeuux © 2025
京ICP备05028076号