python - 处理带有空格的 css 类名

标签 python html css django django-templates

您好,我正在开发一个由 Django 支持的元素。以下是我的html文件(模板)中的代码

{% for l in items  %}

                                <td style="text-align: center"
                                    id="{{m.id}}_{{m.set}}">
                                </td>

{% endfor %}

和一个 JS 脚本:

<script>

$(document).ready(function() {
    {% for a in all_results %}
            $('#{{a.id}}_{{a.set}}').html('{{a.id}}');
            $('#{{a.id}}_{{a.set}}').addClass('{{ a.size__status }}');
    {% endfor %}
});
</script>

意味着 td 的类将根据我的数据库中的状态列进行更改。

我的CSS:

.completed{
    background-color: #4dff4d;
}

一些状态是带空格的(不像一个单词“完成”)。例如:“尚未开始”。所以当我传递这个值时,我的类属性不起作用。如何处理这个问题?提前谢谢大家

最佳答案

你根本不应该在状态中使用空格。 更好的办法是使用 django-model-utils 中的 Choices 然后你可以像这样在你的模型中定义状态:

STATUS = Choices(
    ('completed', 'completed'),
    ('not_yet_started', 'Not yet started')
)
status =  models.CharField(choices=STATUS, max_length=20)

元组的第一个值存储在数据库中。第二个你可以用来展示。您可以像这样访问它

obj.status # gives "not_yet_started"
obj.get_status_display # gives "Not yet stared"   

更新:

如果您不想/不能更改数据库中的条目,则有两种可能的解决方案。

  • Javascript:

    '{{a.status}}'.replace(' ', '_')

  • django 模型属性:

    def status_name(self): 返回 self.status.replace(' ', '_')

关于python - 处理带有空格的 css 类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35427946/

相关文章:

html - 不同分辨率下的不同网页元素位置

javascript - 如何在javascript中将字节数组转换为图像

javascript - 定期更改 css 属性并将该值作为文本添加到 div 中

jquery - 带有自定义背景多色 css/jquery 的进度条

c# - 弹出时禁用主页

python - Django-allauth 注册、登录和社交连接到一个页面

python - 属性错误 : 'CharField' object has no attribute 'model'

html - CSS:基于基线的绝对位置文本?

Python Pandas,运行总和,基于前一行值并分组

python - 从图像中提取矩形文本框