我正在为个人项目实施 URLMapping。我已经知道存在解决方案,所以请不要回答建议我应该使用一个。
我想要的是收集开发人员和网络用户对 URL 映射实现的意见。特别想请你回答:
- 你最喜欢哪个实现?
- 你喜欢你最喜欢的实现吗?
- 你不喜欢你最喜欢的实现吗?
- 你会如何改进它?
我希望你从两个角度来回答:
- 作为开发者
- 作为用户
如有任何意见,我将不胜感激,谢谢!
我正在为个人项目实施 URLMapping。我已经知道存在解决方案,所以请不要回答建议我应该使用一个。
我想要的是收集开发人员和网络用户对 URL 映射实现的意见。特别想请你回答:
我希望你从两个角度来回答:
如有任何意见,我将不胜感激,谢谢!
我只使用过 django 的 URLConf 机制。我认为它依赖urlpatterns
变量的方式有点脆弱,但我喜欢它在指定模式和分派到其他 url 配置方面的表现力。我认为最好的办法可能是先弄清楚你的 URL 方案,然后尝试几个解决方案,看看什么最匹配。如果您要使用完整的GET
/ POST
/ PUT
/来使用核心 REST DELETE
,并检查用户代理的Accept
标头以及所有这些,默认情况下,django 会让您在 URL 配置文件和视图文件之间拆分逻辑,所以它可能不是最干净的解决方案。
但是,由于它都是 Python,因此您可以在分配给urlpatterns
.
确实,您需要一个可以满足您需求的系统。您的 URL 方案就是您的 API,因此不要根据您使用的工具对其进行妥协。找出你的 API,然后找到可以让你做到这一点的工具,让你摆脱困境。
编辑:同时在谷歌上搜索“URL 方案设计”。我毫不费力地发现了这一点:http ://www.gaffneyware.com/urldesign.htm 。不全面,但从查看 flickr 的功能中得到了一些好的建议。
好吧,我应该注意到 url-routing 标记不是吗?:-) 对于那个很抱歉。
jcd 的经验与我的相似——我也使用 Django。
我喜欢应用程序的路由位于应用程序中(在 urls.py 中)并且可以包含在任何可能使用该应用程序的项目中的事实。我对正则表达式很满意,所以在正则表达式中指定路由并不会影响我(但我看到其他程序员对一些更不常见的表达式摸不着头脑)。
必须能够通过某个标识符(在 Django 中通过路由名称)来反转路由。在模板或控制器中硬编码 url(在 Django 中查看)是一个很大的禁忌。Django 有一个使用该reverse()
方法的模板标签
我希望我能做的一件事是在 django 中有默认路由的概念(就像Rails甚至 Pylons 一样)。在 Django 中,每个路由都必须映射到一个视图方法,没有尝试根据 URL 本身调用某个视图的概念。好处是没有意外 - 您的 urls.py 是您的项目或应用程序的目录。缺点是 urls.py 往往更长。