繁体   English   中英

使用cherrypy / mako中的动态参数处理URL

[英]handling URLs with dynamic parameters in cherrypy/mako

我确实有一个使用cherrypy和Mako模板用Python编写的非常简单的Web应用程序。 最繁琐的事情是打印带参数的链接,特别是当我需要逐步添加更多参数,更新现有参数或删除参数时。

应用程序中的常见模式是对表中列出的项目的增量限制 - 例如存储在数据库中的图像列表。 然后是用户

  1. 从列出的所有图像开始,即URL是/ images
  2. 限制类别中的项目,因此URL为/ images?category = 2398
  3. 限制在2013/01/07输入的项目,因此URL为/ images?category = 2398&date = 20130107
  4. 删除类别限制,以便URL为/ images?date = 20130107
  5. 按尺寸,/ images?date = 20130107&sort = size&order = asc对项目进行排序
  6. 对相反方向的项目进行排序,/ images?date = 20130107&sort = size&order = desc

大多数情况是通过单击表格标题或表格单元格中的值(例如类别名称)来处理的,并且处理它的代码很多或多或少仍然相同且编写和修改相当繁琐。

自动处理此问题的最佳方法是什么? 是否有一些樱桃(工具/插件)或Mako使这更容易?

您可以将您的网址变量放在配置文件中,并将它们保存在一个位置......

#server.conf
[urlvariables]
variables: ['date', 'sort', 'order']

那么当你去渲染你的Mako模板时,就像这样建立网址......

urlstring = ''
for CurrentVar in cherrypy.request.app.config['urlvariables']['variables']:
    urlstring += CurrentVar + '=' + 'yourvalue&' 

mytemplate = Template("<a href='{url}'>click here</a>")
return mytemplate.render(url='/images?' + urlstring)

希望这可以帮助!

安德鲁

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM