0
A
回答
1
web.py使用偶数编号的元素来描述路径,而奇数编号的元素提供了url处理函数。这就是为什么它通常写为:
urls = ('foo', 'foo',
'bar', 'bar',
'/', index)
所以,关键是简单地打印出偶数元素:
>>> [urls[i] for i in xrange(0, len(urls), 2)]
['foo', 'bar', '/']
现在,也有一些并发症。
- 如果您通过WSGI托管这一点,那么它可能是您的网络服务器被传递到
webpy
仅事情(例如)/app
前缀。因此,“真实”网址应该是/app/foo
,'/ app/bar'等。您无法从应用程序中告知。 - 您列出的项目可能(通常是)正则表达式,所以您生成的列表可能不是一个简单的URL列表。 (考虑
dashboard/(mail|settings|status)
将允许三个URL:dashboard/mail
,dashboard/settings
和dashboard/status
- 最后,奇数项,而通常是字符串,可以替代由
web.application
类,在其中你会递归到该应用程序,其所有网址以及
例如:
import web
def p(app, prefix=None):
mapping = app.mapping
for pattern, what in mapping:
if isinstance(what, basestring):
print "{}{}".format(prefix + '/' if prefix else '', pattern)
else:
p(what, prefix=pattern)
if __name__ == '__main__':
# "blog" sub-application which handles blog-related urls
blog_urls = ('create', 'blog.Create', 'edit', 'blog.Edit', 'delete', 'blog.Delete')
blog_app = web.application(blog_urls, globals())
# "main" application which handles most urls, but passed blog URL to sub-application
main_urls = ('/account', 'account', '/settings', 'settings', '/blog', blog_app)
main_app = web.application(main_urls, globals())
p(main_app)
运行:
$ python foo.py
/account
/settings
/blog/create
/blog/edit
/blog/delete
相关问题
- 1. C++列出使用情况
- 2. 如何找出我应用程序中所有CPU的使用情况
- 3. 列出所有可能的开关情况?
- 4. 如何在不使用Rails 4的情况下将trailing_slash添加到所有url?
- 5. 列出所有可用ProgId
- 6. 如何正确使用Thread.UncaughtExceptionHandler在所有情况下推出的活动?
- 7. 如何使用javax.sound.sampled。*列出所有可用(输入)端口?
- 8. 如何在不使用Power Tool的情况下列出在TFS中锁定的所有分支或文件?
- 9. 如何在没有域名的情况下输出url
- 10. 如何在没有座席的情况下使用Twilio队列?
- 11. 可以在没有列表的情况下使用LOAD TABLE吗?
- 12. 如何使用情况
- 13. 如何在不使用ID的情况下使用CakePHP中的SEO URL?
- 14. 如何在没有应用程序歌曲的情况下列出MediaStore中的所有音乐
- 15. Objective-C中如何列出所有可用的编码
- 16. 如何列出存储库中的所有可用软件包
- 17. 如何在Virtuoso中列出所有可用的谓词?
- 18. 如何列出SQLite中特定表的所有可用视图?
- 19. 如何使用AppleScript列出列表中项目的所有可能性?
- 20. htaccess URL重写不适用于所有情况下
- 21. 有没有可能使用Promise和Deferred的任何情况?
- 22. 如何找出Java中的java进程的CPU使用情况
- 23. 如何处理web.py中的url路径?
- 24. 如何在所有可能的情况下抓住?
- 25. 是否使用switch语句中的所有情况...?
- 26. 使用Java从wsdl url中列出所有操作(请求)
- 27. 如何在不使用url的情况下传递参数
- 28. 如何在不刷新所有页面的情况下在asp.net中使用updatePanel?
- 29. 列出URL中的所有文件android
- 30. Linux的 - 如何列出所有用户