将个别应用视图视为可以拼凑在一起形成更大网站的HTML块是一种好习惯吗?如果没有,假设每个人使用不同的模板集,那么从项目到项目重用应用程序视图的最佳方法是什么?
答案 0 :(得分:2)
使用template_name
kwarg定义视图的一般做法。这允许覆盖默认模板。这在通用视图中很常见。
#my reusable view
def list_items(request, template_name="items.html"):
items=Item.objects.all()
return render_to_response(template_name,
{'items': items},
context_instance=RequestContext(request))
#some other view
from my.reusable.views import list_items
def list_special(request, template_name="spectial_items.html"):
return list_items(request, template_name=template_name)
答案 1 :(得分:0)
你的问题有点过于笼统。
这样做的一般方法包括:
extra_context
传递给reusable-generic-view extra_context
并从您的视图中返回可重复使用的视图。答案 2 :(得分:0)
通常每个应用程序都应提供基本功能的视图 - 应用程序可以完全控制用户和页面。
可以在基本页面布局中显示的功能(例如“我博客中的最后5个帖子”)将是模板标签的完美用例 - 我通常使用简单的inclusion tags。因此,您不会将多个视图合并到一个模板中,但总是有一个视图处理请求,并且可以使用模板标记聚合所有内容。