下面是一个完整的卡片模板代码,包含所有元素,并使用Django的模板语言来处理状态字段的条件渲染。同时还包括示例视图和URL配置。

完整的卡片模板

<div class="card">
<!-- 卡片图片 -->
<img src="{{ product_package.image_url }}" class="card-img-top" alt="产品图片"> <div class="card-body">
<!-- 卡片标题 -->
<h5 class="card-title"><strong>产品:</strong> {{ product_package.item_no }}</h5> <!-- 卡片文本内容 -->
<p class="card-text"><strong>纸箱:</strong> {{ product_package.box_code }}</p>
<p class="card-text"><strong>栈板:</strong> {{ product_package.pallet_code }}</p>
<p class="card-text"><strong>产品单重:</strong> {{ product_package.product_weight }}</p>
<p class="card-text"><strong>单箱产品数量:</strong> {{ product_package.box_product_qty }}</p>
<p class="card-text"><strong>每层箱数:</strong> {{ product_package.pallet_boxes_layer }}</p>
<p class="card-text"><strong>最高层数:</strong> {{ product_package.pallet_max_layers }}</p>
<p class="card-text"><strong>其他包材重量(栈箱以外):</strong> {{ product_package.pallet_other_weight }}</p> <!-- 条件显示状态 -->
<p class="card-text">
<strong>状态:</strong>
{% if product_package.state %}
启用
{% else %}
未启用
{% endif %}
</p>
</div> <!-- 卡片底部操作按钮 -->
<div class="card-footer text-muted">
<a href="{% url 'edit_product' product_package.id %}" class="btn btn-primary">编辑</a>
<a href="{% url 'delete_product' product_package.id %}" class="btn btn-danger">删除</a>
</div>
</div>

解释:

  1. 卡片图片

    • <img src="{{ product_package.image_url }}" class="card-img-top" alt="产品图片">:在卡片顶部显示产品图片。确保image_url是你的模型或上下文中提供的图片URL。
  2. 卡片标题

    • <h5 class="card-title"><strong>产品:</strong> {{ product_package.item_no }}</h5>:显示产品编号作为卡片标题。
  3. 卡片文本内容

    • <p class="card-text"><strong>纸箱:</strong> {{ product_package.box_code }}</p>:显示纸箱代码。
    • 其他字段如pallet_codeproduct_weightbox_product_qty等,以类似方式显示。
  4. 条件显示状态

    • {% if product_package.state %}:检查state是否为真。
    • 如果state为真,显示“启用”;否则显示“未启用”。
  5. 卡片底部操作按钮

    • <div class="card-footer text-muted">:包含编辑和删除产品的操作按钮。
    • <a href="{% url 'edit_product' product_package.id %}" class="btn btn-primary">编辑</a>:链接到编辑页面。
    • <a href="{% url 'delete_product' product_package.id %}" class="btn btn-danger">删除</a>:链接到删除操作。

Django视图示例

from django.shortcuts import render, get_object_or_404

def product_detail_view(request, product_id):
product_package = get_object_or_404(ProductPackage, id=product_id)
return render(request, 'product_detail.html', {'product_package': product_package})
 

URL配置示例

from django.urls import path
from .views import product_detail_view urlpatterns = [
path('product/<int:product_id>/', product_detail_view, name='product_detail'),
path('product/<int:product_id>/edit/', edit_product_view, name='edit_product'),
path('product/<int:product_id>/delete/', delete_product_view, name='delete_product'),
]

确保在你的视图中传递product_package对象到模板,并定义edit_product_viewdelete_product_view视图。根据实际情况替换ProductPackage为你的实际模型名称。

 

效果图

Django+Bootstrip 卡片模板设计 经典精品的更多相关文章

  1. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

  2. Django框架2——模板

    django框架2--模板 直接将HTML硬编码到你的视图里却并不是一个好主意: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修改往往比底层 Python 代码的修 ...

  3. 第一个Django应用 - 第三部分:Django视图和模板

    一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模板.例如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...

  4. JDBCTemplate与模板设计方法(二)

    前言:上一篇博客介绍了模板方法模式,并且给出了一个小demo,简单对模板方法进行了实现,接下来我们把目光转向spring的源码JDBCTemplate,看一看spring是如何对jdbc进行高度封装的 ...

  5. 模板设计在tomcat中的应用

    tomcat是一个常见的web容器,用户使用它可以很方便地管理servlet小程序,而servlet与tomcat的交互代码设计就用到了模板设计. 何谓模板设计,就是定义一个抽象父类,在该父类中组织子 ...

  6. Django(框架、模板)

    day65 参考:https://www.cnblogs.com/liwenzhou/p/8296964.html Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间 ...

  7. 第三百一十节,Django框架,模板语言

    第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到h ...

  8. Django框架之模板语法【转载】

    Django框架之模板语法 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django ...

  9. Django项目中模板标签及模板的继承与引用【网站中快速布置广告】

    Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环 ...

  10. django的html模板中获取字典的值

    在django的html模板中获取字典中的值应当直接使用 字典.[key] 的方式 {% for i in lists %} <li id="{{i.id}}" class ...

随机推荐

  1. redis cluaster (redis分布式集群 redis分片集群)

    redis cluaster (redis分布式集群) 高可用: 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动 ...

  2. 01.Alpine编译glibc

    概要 本文档采用glibc2.28版本作为示例,模拟内网环境无法访问github等开源社区 为精简docker容器镜像,采用Alpine镜像,需要手动编译glibc源代码 制作编译好的glibc二进制 ...

  3. ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)

    1.本节通过一个小例子来讲解下处理器PutDatabaseRecord,该处理器的作用是将数据写入数据库. 如下流程通过处理器GenerateFlowFile 生成数据,然后通过处理器JoltTran ...

  4. 谁说.net core不好动态访问webservice?看这篇文章,C#快速实现动态访问webservice,兼容.net framework和.net core+

    前言:访问webservice,大多数人都是用服务引用的方式,但是这种方式比较麻烦,例如遇到服务更新了,你还需要手动更新你的服务引用,再重新发布,很麻烦.或者已有的一些例子,至少我看到的很多案例,动态 ...

  5. 【译】Visual Studio 17.10 发布了新版扩展管理器

    我们将更新的扩展管理器带给所有用户!在过去的一年里,我们已经将更新后的扩展管理器作为可选的预览功能提供,并一直期待您的反馈.基于您令人难以置信的反馈,我们现在准备从 Visual Studio 17. ...

  6. 流程控制之case

    1.case语句作用 case和if一样,都是用于处理多分支的条件判断 但是在条件较多的情况,if嵌套太多就不够简洁了 case语句就更简洁和规范了 2.case用法参考 常见用法就是如根据用户输入的 ...

  7. Elasticsearch之Nested Query nestedQuery查询数组

    es是通过符合条件的json记录找出来,本身并不是将数据中的记录filter过滤.es nestedQuery不是过滤的结果,是匹配的这条es记录,所以数组中的其他的记录也会查询出来1.方法1:可以在 ...

  8. C# .net core中如何将多张png图片合并成一个gif

    背景 我们有很多这样的序列帧: 我这边要把这些序列帧裁切最后合并成gif,以下是我裁切后的png文件: 我一开始选用的是 SixLabors.ImageSharp 这是裁切代码: using var ...

  9. 【Vyos-开源篇-1】- VMware 安装 VyOS 虚拟机

    文章说明:使用VMware ESXi和VMware Workstation安装vyos软路由. 一.项目准备 1.1.VMware ESXi 我家里的是一台8核心,20G内存,2T的N5105工控机, ...

  10. 【论文阅读】ICRA2021: VDB-EDT An Efficient Euclidean Distance Transform Algorithm Based on VDB Data Struct

    参考与前言 Summary: 浩哥推荐的一篇 无人机下的建图 and planning实验 Type: ICRA Year: 2021 论文链接:https://arxiv.org/abs/2105. ...