首页 > 解决方案 > 是否可以自定义与同一模板关联的各个页面?动态 URL django

问题描述

我正在开发一个博客网站,并在 Django 中为每篇博客文章设置了动态 URL。是否可以更改特定页面的段落和图像的布局,以便每个页面之间存在细微差别?

标签: pythondjangodjango-viewsdjango-templatesdynamic-url

解决方案


是的,在 Django 中呈现的相同模板可以有不同的布局。您可以在上下文中传递一些变量来实现这个目标,如下所示:

视图.py

def detail(request, id):
    object = Model.objects.get(pk=id)
    context = {'layout': f"layout_for_{id}"}
    return render(request, 'template.html', context)

模板.html

{% if layout == 'layout_for_2' %}
Layout for 2 here
{% endif %}

您可以根据需要添加更多条件,但是对于太多的 {% if %} 块可能会变得困难。


推荐阅读