更正 Django 模板 url 变量以与通用视图 list_detail 一起使用

Posted

技术标签:

【中文标题】更正 Django 模板 url 变量以与通用视图 list_detail 一起使用【英文标题】:Correct Django template url variable to use with the Generic View list_detail 【发布时间】:2012-06-07 10:09:25 【问题描述】:

无论出于何种原因,我都很难确定要在我的 url 模板标签中使用的正确变量以正确呈现我的模板。

#firms/url.py 
from django.views.generic import list_detail

firm_list = 
             'queryset' : Firm.objects.all(),
             'template_name': 'firms/firm_index.html',


urlpatterns = patterns("",
(r"^$", list_detail.object_list, firm_list),
)

我的 % url 应该是什么??? % 变量用来渲染这个firm_index.html 模板吗?

【问题讨论】:

【参考方案1】:

如果您使用url 样式

urlpatterns = patterns('',
    url(r'^index/$', index_view, name="main-view"),
    ...
)

您可以为您的网址指定一个自定义名称以用于引用它

【讨论】:

谢谢。我知道 url 功能。出于某种原因,我痴迷于在传递元组时找出正确的变量名。【参考方案2】:

来自the documentation,你可以清楚地提到视图方法的名称和文件中。

% url 'path.to.some_view' v1 v2 %

所以,对于你的情况,你应该能够做到:

% url 'list_detail.object_list' 'firm_list' %

【讨论】:

以上是关于更正 Django 模板 url 变量以与通用视图 list_detail 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Django命名的url,通用视图?

从 Django 中基于类的通用视图自定义表单变量的首选方法是啥?

与 Django 通用视图中的 pk 不同的 url 路径

如何将变量发送到由通用视图调用的模板

有没有办法将变量传递给 Django 中的通用视图?

是否可以将请求数据访问到 django 通用列表视图中?