拼凑Django视图

2024-04-26 03:13:07 发布

您现在位置:Python中文网/ 问答频道 /正文

将单个应用程序视图视为可以拼凑在一起形成更大站点的HTML块是一种好的做法吗?如果不是,假设每个项目使用一组不同的模板,那么从一个项目到另一个项目重用应用程序视图的最佳方法是什么?你知道吗


Tags: 项目方法视图模板应用程序站点html
3条回答

使用template_namekwarg定义视图的一般良好实践。这允许覆盖默认模板。这在泛型视图中很常见。你知道吗

#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)

你的问题太笼统了。你知道吗

一般做法包括:

  • 扩展可重用应用程序的模板
  • 将新模板名称传递给视图(可重用应用程序应接受该参数)
  • 还将extra_context传递给可重用泛型视图
  • 使用您自己的视图创建extra_context,并从您的视图返回可重用视图。你知道吗

通常,每个应用程序都应该提供基本功能的视图,其中应用程序完全控制用户和页面。你知道吗

可以在基本页面布局中显示的功能(例如“我博客中的最后5篇文章”)将是模板标记的完美用例-我通常使用简单的inclusion tags。因此,您不会将多个视图合并到一个模板中,而是始终有一个处理请求的视图,并且可以使用模板标记聚合周围的所有内容。你知道吗

相关问题 更多 >