python - 如何根据屏幕大小更改 django 模板中的列数

标签 python django twitter-bootstrap python-2.7 django-templates

当以 768*1280(智能手机)分辨率查看页面时,它看起来像 page columns on small screen

网页的django模板是

<div class="row">
{% for discount in object_list %}
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
            <!--<img src="{{static_url}}images/vendor/{{ discount.product_vendor__vendor_logo }}" class="img-responsive" alt="Image">-->
            <img src="{% static "images/vendor/" %}{{ discount.product_vendor__vendor_logo }}" class="img-responsive" alt="Image">
        </div>
    </div>
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
            <img src="{% static "images/products/" %}{{ discount.product_vendor__vendor_alias }}/full/{{ discount.product_image }}" class="img-responsive" alt="Image">
        </div>
    </div>
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
            {{ discount.product_name }}
        </div>
    </div>

    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
        <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
            <h5>{{ discount.product_price }}</h5>
            </div>
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
            <strike>
            <h5>{{ discount.product_price_old }}</h5>
            </strike>
            </div>
        </div>

        </div>
        </div>
                <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
        <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
            <h5>{{ discount.product_vendor__vendor_odeliver }}</h5>
            </div>
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
            <h5>{{ discount.diff }}</h5>
            </div>
        </div>
        </div>
        </div>
        </div>
    <!-- if last column in row -->
    {% if forloop.counter|divisibleby:"4" and not forloop.last %}
    </div><div class="row">
    {% endif %}
{% endfor %}

我想根据屏幕大小更改divisibleby:"4"数字4。例如,对于移动设备屏幕,divisibleby:"1";对于平板电脑,divisibleby:"3";对于桌面设备,divisibleby:"4"。请帮忙。

最佳答案

每个产品被分成几行并没有什么特殊原因。这会让你的模板工作变得更加困难。我什至不确定您是否需要使用 divisibleby 。我会推荐类似的东西:

{% for discount in object_list %}
    <div class="col-xs-3 col-sm-3 col-md-3 col-lg-3">
        <!--<img src="{{static_url}}images/vendor/{{ discount.product_vendor__vendor_logo }}" class="img-responsive" alt="Image">-->
        <img src="{% static "images/vendor/" %}{{ discount.product_vendor__vendor_logo }}"
             class="img-responsive" alt="Image">
        <img src="
                {% static "images/products/" %}{{ discount.product_vendor__vendor_alias }}/full/{{ discount.product_image }}"
             class="img-responsive" alt="Image">
        {{ discount.product_name }}
        <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
                <h5>{{ discount.product_price }}</h5>
            </div>
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
                <strike>
                    <h5>{{ discount.product_price_old }}</h5>
                </strike>
            </div>
        </div>
        <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
                <h5>{{ discount.product_vendor__vendor_odeliver }}</h5>
            </div>
            <div class="col-xs-6 col-sm-6 col-md-6 col-lg-6">
                <h5>{{ discount.diff }}</h5>
            </div>
        </div>
    </div>
{% endfor %}

如果由于某种原因(例如项目的高度可变)您确实需要使用divisibleby ,然后添加 <div class="clearfix"></div>或者注意你的高度。

关于python - 如何根据屏幕大小更改 django 模板中的列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33852522/

相关文章:

Python pandas CustomBusinessDay

python - matplotlib: sys.exitfunc 错误

python - 跨服务器同步文件名

python - 使用 apache、mod-wsgi 部署 django

html - 背景图像移动响应与 Bootstrap

html - 如何更改 html/css 中的选项卡 Pane 颜色?

python - model.fit_generator keras 的 class_weight ='auto'

python - Visual Studio PyTools 从现有代码创建 Django 项目

html - 如果只使用桌面视口(viewport),我应该使用 META 视口(viewport)标签吗?

python - 使用matplotlib的Mongodb数据统计可视化