我想在我的通用视图中使用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})
所以,我有两个网址的一个视图,我的问题是:如何为这两个网址使用django网址模板标记?
我想在html模板中做这样的事情:
href={% url "mysite.views.object_list" model="Event" %}
href={% url "mysite.views.object_list" model="BlogEntry" %}
谢谢!
答案 0 :(得分:0)
您需要为网址定义名称:
(r'^events/$', views.object_list, {'model': models.Event}, name='my_name'),
并使用它而不是视图路径:
href={% url "my_name" model="Event" %}