有没有办法获得一个类的对象列表而不使用可能TemplateView.as_view()
和模板创建专用视图?
答案 0 :(得分:1)
事实上,你需要一些能够返回响应对象的东西。这就是实际观点。
如果您不想将视图声明为函数或类,则可以使用lambda函数。 以下是工作urls.py的示例:
from django.conf.urls import url
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
urlpatterns = [
url(r'^test/$', lambda request: render_to_response('testapp/test.html', {'users': User.objects.filter()})),
]
我创建了匿名函数并返回了我需要的对象的响应,并指定了模板的路径。
答案 1 :(得分:1)
不确定。 您可以使用赋值标记(在模板标记库中写入)。 Assignment tag docs
@register.assignment_tag
def my_tag():
return Product.objects.all()
在模板中(TemplateView - 没问题)
{% my_tag as my_tag %}
{% for item in my_tag %}
{{ item.name }}
{% endfor %}