当 Debug=True 时覆盖 CSS

问题描述 投票:0回答:2

为了避免我的生产和开发实例之间的混淆(其中

DEBUG = True
),我想在开发中覆盖引导导航栏的CSS(仅)以显示例如红色而不是蓝色。

实现此目的最优雅的方法是什么?

我可以在任何地方覆盖

get_context_data()
以包含我的
settings.DEBUG
,或者从新生成的基类继承,但这看起来不太干燥。

django django-views
2个回答
0
投票

您可以通过在基本模板中添加条件语句以在 DEBUG = True 时加载不同的 CSS 文件来实现此目的。这样,您就可以避免视图混乱或重复代码。只需使用您的调试样式创建一个新的 CSS 文件,并仅在 DEBUG = True 时将其包含在您的基本模板中。这种方法可以使您的代码保持干燥,并确保您的开发环境具有自己独特的样式。


0
投票

您可以利用 django 调试上下文处理器,它允许您在每个模板中使用

debug
remplate 变量。

这个值等于

settings.DEBUG
,所以你可以用它来覆盖你的CSS,例如

{% if debug %}
    <style>
        .nav { background-color: red }
    </style>
{% endif %}
© www.soinside.com 2019 - 2024. All rights reserved.