{% extends 'base.html' %}

{% block content %}
<div class="container">
<h1>客户信息列表</h1>
<form class="form-inline mb-3" method="GET" action="{% url 'customer_list' %}">
<input class="form-control mr-sm-2" type="search" name="search_query" placeholder="Search..."
aria-label="Search" value="{{ request.GET.search_query }}">
<button class="btn btn-outline-primary my-2 my-sm-0 mb-3" type="submit">查询</button>
<a class="btn btn-primary my-2 my-sm-0 mb-3" href="{% url 'customer_create' %}">新增客户信息</a>
</form>
<div class="row">
{% for customer in customers %}
<div class="col-md-6 col-lg-4 mb-4">
<div class="card h-100">
<div class="card-header bg-primary text-white">
<h5 class="card-title mb-0">{{ customer.cu_no }}</h5>
</div>
<div class="card-body">
<h5 class="card-title">{{ customer.cu_name }}</h5>
<p class="card-text"><strong>BILL TO:</strong> {{ customer.bill_to }}</p>
<p class="card-text"><strong>Address:</strong> {{ customer.bill_to_address }}</p>
<p class="card-text"><strong>Consignee:</strong> {{ customer.consignee }}</p>
<p class="card-text"><strong>SHIP TO:</strong> {{ customer.ship_to }}</p>
<p class="card-text"><strong>ADDRESS:</strong> {{ customer.ship_to_address }}</p>
<p class="card-text"><strong>CONTACT:</strong> {{ customer.contact }}</p>
<p class="card-text"><strong>SHIP BY:</strong> {{ customer.ship_by }}</p>
</div>
<div class="card-footer">
<a href="{% url 'customer_detail' customer.pk %}" class="btn btn-info">详情</a>
<a href="{% url 'customer_update' customer.pk %}" class="btn btn-warning">编辑</a>
<a href="{% url 'customer_delete' customer.pk %}" class="btn btn-danger">删除</a>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center mt-3">
{% if customers.has_previous %}
<li class="page-item"><a class="page-link" href="?page=1">First</a></li>
<li class="page-item"><a class="page-link"
href="?page={{ customers.previous_page_number }}">Previous</a>
</li>
{% endif %}
<li class="page-item disabled"><a class="page-link" href="#">Page {{ customers.number }}
of {{ customers.paginator.num_pages }}</a></li>
{% if customers.has_next %}
<li class="page-item"><a class="page-link" href="?page={{ customers.next_page_number }}">Next</a>
</li>
<li class="page-item"><a class="page-link" href="?page={{ customers.paginator.num_pages }}">Last</a>
</li>
{% endif %}
</ul>
</nav>
</div>
{% endblock %}

card 卡片 html的更多相关文章

  1. Flutter学习笔记(21)--TextField文本框组件和Card卡片组件

    如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...

  2. flutter Card卡片列表组件

    一个 Material Design 卡片.拥有一个圆角和阴影 import 'package:flutter/material.dart'; import './model/post.dart'; ...

  3. Flutter AspectRatio、Card 卡片组件

    Flutter AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widg ...

  4. Card 卡片

    将信息聚合在卡片容器中展示. 基础用法 包含标题,内容和操作. Card 组件包括header和body部分,header部分需要有显式具名 slot 分发,同时也是可选的. <el-card ...

  5. AspectRatio图片的宽高比、Card 卡片组件

    一.AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widget 的高度 ...

  6. AspectRatio、Card 卡片组件

    一.Flutter AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,wi ...

  7. 3、card 卡片

    1.基本用法的使用 /* --- htm l----*/ <ion-content> <ion-card> <ion-card-header> Header < ...

  8. Bootstrap学习记录-3.Badge、Breadcrumb、Buttons、 Button Group、Card、Carousel

    1. Badge Badge作为数值标记组件,它能作为链接或按钮的一部分来提供计数作用,而且它通过使用相对字体大小来适应父级元素的大小.它的最基本的修饰符为.badge .badge-*. <b ...

  9. Android 之 2048 的游戏逻辑分析

    继续学习了极客学院的实战路径课程,讲到了2048游戏的编写过程,我在这里作个总结分享给大家(结果会附源代码和我改写后的代码): 这里主要包括两个方面:1.2048界面的绘制   2.2048算法逻辑的 ...

  10. English word

    第一部分  通过词缀认识单词 (常用前缀一) 1.a- ①加在单词(形容词)或词根前面,表示"不,无,非" acentric [ə'sentrik] a  无中心的(a+centr ...

随机推荐

  1. PHP 有哪些常用的魔术变量 ?

    引言 PHP 向它运行的任何脚本提供了大量的预定义常量. 魔术变量 __LINE__ 文件中的当前行号. __FILE__ 文件的完整路径和文件名. 如果用在被包含文件中,则返回被包含的文件名. __ ...

  2. Vue cli使用Element UI

    当前的测试环境如下: ---- 新版的@vue/cli ---- Vue2.x版本 第一步:安装Element UI npm i element-ui -S 第二步:引入Element UI 在mai ...

  3. Vue——生命周期

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. GeneralUpdate .Net5 WPF、Winfrom、控制台应用自动更新组件

    https://www.bilibili.com/video/BV1aX4y137dd/?vd_source=43d3e66cc2ad46bac54dfb0c6a3a0a23 GeneralUpdat ...

  5. Keil_MDK中无法打开map文件的解决办法

    如果在MDK中打开map文件 我们在STM32的开发过程中,经常会查看.map文件 .map文件是MDK在编译过程中生成的一个包含镜像文件信息的重要文件,在程序编译后自动生成,比方这里我的工程下自动将 ...

  6. nginx使用lua waf防火墙来做防CC配置

    nginx添加lua模块 启动和安装nginx yum install -y nginx systemctl daemon-reload systemctl enable nginx #为了实验方便这 ...

  7. CH57x/CH58x/CH59x获取从机广播信息

    有时需要通过主机设备(MCU非手机)获取从设备的广播信息例如广播包,MAC地址,扫描应答包等 以下的程序片段及功能实现是在WCH的CH59X的observer例程上实现的: 1.获取广播包 所有的函数 ...

  8. Win11安装VMware Workstation Pro,Centos,Xshell,Xftp(Linux学习需要)

    注意:1.win11不能安装太低版本的VMware Workstation Pro,否则启动linux会出现蓝屏 ​ 2.win11是默认没有开虚拟机平台支持的,所以同时也要开启,否则也会出现蓝屏. ...

  9. navicat 如何调整查询区域字体大小

    Navicat是一套快速.可靠和全面的数据库管理工具,专门用于简化数据库管理和降低管理成本.Navicat图形界面直观,提供简便的管理方法,设计和操作MySQL.MariaDB.SQL Server. ...

  10. 基于WebSocket的modbus通信(三)- websocket和串口

    WebSocket传递ModbusTCP数据包 错误纠正 上一篇还有个错误,就是客户端写数据时服务端不需要响应,但我的服务端响应了的.我选择改客户端,把写数据时接收到的响应丢弃. PrintBytes ...