【问题标题】:Django: Best Practice for URL conf, url template tagDjango:URL conf、url 模板标签的最佳实践
【发布时间】:2011-12-01 15:24:48
【问题描述】:

随着基于类的视图在 Django 中变得更好,我在实现基于类的视图时遇到了“最佳实践”问题。它基本上归结为URL template tag

给定一个这样的 urls.py:

urlpatterns = patterns('some_app.views', 
    url(r'^$', 'index', name='some_app_index')
)

该标签可以采用任一路径到视图:

{% url some_app.views.index %}

或网址名称:

{% url some_app_index %}

现在,使用基于类的 url conf,最终会得到这样的 url:

from some_app.views import Index

urlpatterns = patterns('', 
    url(r'^$', Index.as_view(), name='some_app_index')
)

这意味着使用 {% url some_app.views.index %} 不再有效,但 {% url some_app_index %} 仍然有效。 (而且{% url some_app.views.Index.as_view %} 似乎不是一个解决方案)。


那么,我的问题是,从模板中引用 URL conf 的最佳做法是什么?

到目前为止,我相信使用 path.to.view 方法会更好,因为它是干净的命名空间。然而,随着基于类的视图越来越好,使用url name 是不是更好?在这种情况下,命名空间完全取决于应用程序开发人员设置的名称属性,以将 url 名称与其他应用程序分开......

想法?我在 Django 文档中找不到“这样做”,但如果有人写过这个,我很乐意阅读。

【问题讨论】:

    标签: django django-views django-urls django-templates


    【解决方案1】:

    我总是用名字。

    除了你提到的路径问题之外,如果你有两个指向同一个视图的 URL,你也会遇到问题。

    【讨论】:

      猜你喜欢
      • 2016-12-24
      • 2013-09-19
      • 2015-02-26
      • 2011-02-17
      • 2019-02-10
      • 2012-10-13
      • 1970-01-01
      • 2013-07-19
      • 2011-12-08
      相关资源
      最近更新 更多