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的 - 如何列出所有用戶