当前位置: 首页 > news >正文

django项目实战四(django+bootstrap实现增删改查)进阶时间控件

接上一篇《django项目实战三(django+bootstrap实现增删改查)进阶分页》

知识点:

        使用bootstrap-datepicker实现时间控件

 

一、优化layout.html模版

主要新增2个块

  {% block css %}{% endblock %}{% block js %}{% endblock %}
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">{% block title %}{% endblock %}<link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.min.css' %}"/><style>.navbar{border-radius: 0;}</style>{% block css %}{% endblock %}
</head>
<body><nav class="navbar navbar-default"><div class="container">  <!-- <div class="container-fluid">  --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse"data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">测试管理系统</a></div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li><a href="/depart/list/">部门管理</a></li><li><a href="/user/list/">用户管理</a></li><li><a href="/case/list/">用例管理</a></li></ul><ul class="nav navbar-nav navbar-right"><li><a href="#">登录</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"aria-expanded="false">春天的菠菜 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">个人资料</a></li><li><a href="#">我的信息</a></li><li role="separator" class="divider"></li><li><a href="#">注销</a></li></ul></li></ul></div></div>
</nav><div>{% block content %}{% endblock %}</div><script src="{% static 'js/jquery-3.6.3.min.js' %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.js' %}"></script>
{% block js %}{% endblock %}
</body>
</html>

二、下载导入bootstrap-datepicker

1、下载

2、放入对应文件夹目录

三、引入 

1、在user_add.html引入

知识点:id_create_time是modelform框架依据字段自动生成的id

如果是非modelform框架,可以未入职时间字段加个id="dt" 然后id_create_time替换成dt

{% extends 'layout.html' %}
{% load static %}
{% block title %}<title>新增用户(ModelForm)</title>
{% endblock %}
{% block css %}<link rel="stylesheet" href="{% static 'plugins/bootstrap-datepicker/css/bootstrap-datepicker.css' %}" />
{% endblock %}
{% block content %}<div class="container"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">新增用户</h3></div><div class="panel-body"><form method="post" novalidate>{% csrf_token %}{% for field in form %}<div class="form-group"><label>{{ field.label }}</label>{{ field }}<span style="color: red">{{ field.errors.0 }}</span></div>{% endfor %}<button type="submit" class="btn btn-primary">保 存</button></form></div></div></div>{% endblock %}
{% block js %}<script src="{% static 'plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js' %}"> </script><script src="{% static 'plugins/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js' %}"> </script><script>$(function () {$('#id_create_time').datepicker({format: 'yyyy-mm-dd',startDate: '0',language: 'zh-CN',autoclose: true});})</script>
{% endblock %}

2、在user_edit.html

{% extends 'layout.html' %}
{% load static %}
{% block title %}<title>编辑用户</title>
{% endblock %}
{% block css %}<link rel="stylesheet" href="{% static 'plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css' %}">{% endblock %}
{% block content %}<div class="container"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">编辑用户</h3></div><div class="panel-body"><form method="post" novalidate>{% csrf_token %}{% for field in form %}<div class="form-group"><label>{{ field.label }}</label>{{ field }}<span style="color: red">{{ field.errors.0 }}</span></div>{% endfor %}<button type="submit" class="btn btn-primary">保 存</button></form></div></div></div>
{% endblock %}
{% block js %}<script src="{% static 'plugins/bootstrap-datepicker/js/bootstrap-datepicker.js' %}"> </script><script src="{% static 'plugins/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js' %}"> </script><script>$(function () {$('#id_create_time').datepicker({format: 'yyyy-mm-dd',startDate: '0',language: 'zh-CN',autoclose: true});})</script>
{% endblock %}

 

 

http://www.lryc.cn/news/14805.html

相关文章:

  • Jetpack之ViewModel
  • 追梦之旅【数据结构篇】——详解C语言动态实现顺序表
  • xss基础
  • 移动WEB开发二、流式布局
  • 分享在线预约系统制作步骤_在线预约链接怎么做
  • 【每日一题Day125】LC1326灌溉花园的最少水龙头数目 | 动态规划 贪心
  • C# FFmpeg推流Vlc.DotNet拉流优化参数
  • pnpm v8版本升级变化关注点(前瞻速攻版)
  • Python基础-环境安装
  • 重载、重写、重构概念辨析
  • 第九章 - 多表查询(join,left join 等)与合并查询(union union all)
  • matplotlib学习笔记(持续更新中…)
  • STM32 SystemInit()函数学习总结
  • 【Spring Boot 原理分析】- 自动配置
  • 简明易懂的JVM理解
  • 新考纲下的PMP考试有多难?
  • 朗润国际期货:知名投行/大佬打Call记
  • 遗传算法及Python实现
  • 零基础 Ubuntu 20.04.01 下搭建51单片机开发环境[开源编译器SDCC]
  • 手摸手快速入门 正则表达式 (Vue源码中的使用)
  • TCP/IP网络协议族分成及其每层作用
  • 041、子序列类型问题(labuladong)
  • linux系统开机文段释义
  • 抽奖动画大转盘抽奖思路与做法
  • Java实现 - 华为2016研发工程师编程题
  • nginx的七层负载均衡
  • 信息加密技术
  • RS485通信总线详解
  • 罗技LogitechFlow技术--惊艳的多电脑切换体验
  • 社招中级前端笔试面试题总结