Django:URL模板标签中的模型参数
Posted
技术标签:
【中文标题】Django:URL模板标签中的模型参数【英文标题】:Django: Model parameter in the URL template tag 【发布时间】:2013-09-19 06:10:09 【问题描述】:我想为我的通用视图使用 url 模板标签。
我对此进行了很多搜索,但没有找到我想要的,但这似乎是一个简单的问题。
我将使用Django book, Making a View Generic 使用过的示例:
# urls.py
from django.conf.urls.defaults import *
from mysite import models, views
urlpatterns = patterns('',
(r'^events/$', views.object_list, 'model': models.Event),
(r'^blog/entries/$', views.object_list, 'model': models.BlogEntry),
)
# views.py
from django.shortcuts import render
def object_list(request, model):
obj_list = model.objects.all()
template_name = 'mysite/%s_list.html' % model.__name__.lower()
return render(request, template_name, 'object_list': obj_list)
所以,我对两个 URL 有一个视图,我的问题是:如何为这两个 URL 使用 django URL 模板标签?
我想在 html 模板中做这样的事情:
href=% url "mysite.views.object_list" model="Event" %
href=% url "mysite.views.object_list" model="BlogEntry" %
谢谢!
【问题讨论】:
【参考方案1】:您需要为 url 定义名称:
(r'^events/$', views.object_list, 'model': models.Event, name='my_name'),
并使用它来代替视图路径:
href=% url "my_name" model="Event" %
【讨论】:
是的,就是这样,只有两件事:名字就够了,现在不需要参数了。 href=% url "my_name" % 和我的大错误以及为什么它对我不起作用, url 的名称,有必要使用 url 函数: url(r'^events/$', views.object_list , 'model': models.Event, name='my_name'),以上是关于Django:URL模板标签中的模型参数的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将查询参数传递给 Django % url % 模板标签?
是否可以将关键字参数传递给 Django % url % 模板标签?关键字参数值应该来自 html 标签
对于 Django 模板 %url% 标签,我如何从通用视图上下文中找到所有 URL 参数,而不仅仅是最后一个?
13.Django中几大常用模板标签讲解及实战使用 for循环;if判断;页面跳转;开启关闭自动转义;url携带参数传递;注释