环境:https://github.com/y2kconnect/xadmin-for-python3.git python3.5.2 django1.9.12

原因:数字输入框用的是html5 input number元素,因未定义step属性,所以只能输入整数,不能输入小数

解决办法:

第一步:新增文件xadmin\templatetags\xadmin_filters.py内容如下:
from django import template
import math
register = template.Library() @register.filter(is_safe=False)
def number_step(decimal_places):
"""根据decimal_places小数位数返回input的step值"""
try:
return 1/math.pow(10, decimal_places)
except Exception as e:
return ''
第二步:xadmin\templates\xadmin\filters\number.html  增加input number输入框的step属性,以下为更改好后的number.html源码
{% load i18n %}
{% load xadmin_filters %}
<li class="dropdown-submenu filter-number">
<a><i class="fa fa-filter {% if spec.is_used %}text-success{%else%}text-muted{% endif %}"></i> {{ title }}</a>
<div class="popover right">
<div class="arrow"></div>
<h3 class="popover-title">
{% trans "Search" %} {{title}}
</h3>
<div class="popover-content">
<form method="get" action="">
{{ form_params|safe }}
<div class="input-group">
<span class="input-group-addon">=</span>
<span class="input-group-btn">
<a class="btn btn-default toggle{%if ne_val%} active{%endif%}" data-toggle="button" data-off-name="{{equal_name}}" data-on-name="{{ne_name}}">!</a>
</span>
<input name="{%if ne_val %}{{ne_name}}{% else %}{{equal_name}}{%endif%}" class="form-control" type="number" value="{%if ne_val %}{{ne_val}}{% else %}{{equal_val}}{%endif%}" placeholder="{% trans "Enter Number" %}" {%if spec.field and spec.field.decimal_places %}step="{{spec.field.decimal_places|number_step}}"{%endif%}/>
<span class="input-group-btn"><a class="btn btn-default remove">x</a></span>
</div>
<div class="input-group">
<span class="input-group-addon">></span>
<span class="input-group-btn">
<a class="btn btn-default toggle{%if gte_val%} active{%endif%}" data-toggle="button" data-off-name="{{gt_name}}" data-on-name="{{gte_name}}">=</a>
</span>
<input name="{%if gte_val %}{{gte_name}}{% else %}{{gt_name}}{%endif%}" class="form-control" type="number" value="{%if gte_val %}{{gte_val}}{% else %}{{gt_val}}{%endif%}" placeholder="{% trans "Enter Number" %}" {%if spec.field and spec.field.decimal_places %}step="{{spec.field.decimal_places|number_step}}"{%endif%}/>
<span class="input-group-btn"><a class="btn btn-default remove">x</a></span>
</div>
<div class="input-group">
<span class="input-group-addon"><</span>
<span class="input-group-btn">
<a class="btn btn-default toggle{%if lte_val%} active{%endif%}" data-toggle="button" data-off-name="{{lt_name}}" data-on-name="{{lte_name}}">=</a>
</span>
<input name="{%if lte_val %}{{lte_name}}{% else %}{{lt_name}}{%endif%}" class="form-control" type="number" value="{%if lte_val %}{{lte_val}}{% else %}{{lt_val}}{%endif%}" placeholder="{% trans "Enter Number" %}" {%if spec.field and spec.field.decimal_places %}step="{{spec.field.decimal_places|number_step}}"{%endif%}/>
<span class="input-group-btn"><a class="btn btn-default remove">x</a></span>
</div> <button type="submit" class="btn btn-success">{% trans "Apply" %}</button>
{% if spec.used_params %}
<a class="btn btn-default" href="{{remove_url}}">{% trans "Clean" %}</a>
{% endif %}
</form>
</div>
</div>
</li>

django-xadmin数字输入框不支持小数点小数问题的更多相关文章

  1. jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...)

    jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) numberbox(数值输入框) HTML required:必填字段,默认为false:prompt:显示 ...

  2. WPF数字输入框和IP地址输入框

    数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...

  3. WPF自定义数字输入框控件

    要求:只能输入数字和小数点,可以设置最大值,最小值,小数点前长度,小数点后长度(支持绑定设置): 代码如下: using System; using System.Collections.Generi ...

  4. 动手写个数字输入框1:input[type=number]的遗憾

    前言  最近在用Polymer封装纯数字的输入框,开发过程中发现不少坑,也有很多值得研究的地方.本系列打算分4篇来叙述这段可歌可泣的踩坑经历: <动手写个数字输入框1:input[type=nu ...

  5. 第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码

    第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码 下载地址:https://github.com/mbi/django- ...

  6. 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6

    第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...

  7. 第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框

    第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框 首先安装DjangoUeditor3模块 Ueditor HTML编辑器是百度开源的HTML编辑器 下载 ...

  8. JS控制只能输入数字并且最多允许小数点两位

    直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  9. 第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现,回填数据以及错误提示html

    第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现 1,配置登录路由 from django.conf.urls import url, include # 导入dja ...

随机推荐

  1. vim 编辑中执行正则表达式

    1.进入vim 编辑模式 2.输入:set magic 3.输入/,然后再次输入正则表达式

  2. Jenkins 远程构建任务

    开发过程中提交代码以后,如何不登录Jenkins就自动触发jenkins 任务来发布软件版本. 1.首先我们创建一个Jenkins任务. 2.选择"构建触发器"->勾选&qu ...

  3. Java Regex match IP address

    Reference: [1] https://www.mkyong.com/regular-expressions/how-to-validate-ip-address-with-regular-ex ...

  4. RGB565的理解

    一个彩色图像由R G B三个分量组成,一个RGB565的每一个像素点数据为2Byte,即16位,那么从名字上就可看出来这16位中,高5位为R分量,中间6位为G分量,低5位为B分量. 下面做了一个实验, ...

  5. 关于vue生命周期中的同步异步的理解

    在vue官网中介绍生命周期的图如下: 主要测试代码如下: 主要是测试前四个生命周期beforeCreate,created,beforeMount,mounted,里面同步和异步的执行顺序,其它的类似 ...

  6. LiteIDE灰调配色方案

    说明 本文写于2017-04-03,使用LiteIDE X31(基于Qt 4.8.5),操作系统为Windows. 使用 LiteIDE下载后解压即可使用.配色方案的所有配置文件都位于liteide/ ...

  7. 移动端网页meta设置和响应式

    苏宁易购WAP的meta分析 响应式 meta设置 媒体查询时读的width为viewport的宽度.viewport宽度为手机分辨率.比如note2 1280*720.需要重置为设备 640*360 ...

  8. npm 一条命令更换淘宝源

    一条命令更换淘宝源 npm config set registry https://registry.npm.taobao.org

  9. Range Modular Queries

    Range Modular Queries 题意 给出一个数列,q个查询,问查询区间内有几个数 a[i] % x == y. 分析 其实裸的分块就能过了,跑的还特别快. 这里分块的作用就是排序. 在x ...

  10. 38. Count and Say - Unsolved

    https://leetcode.com/problems/count-and-say/#/description The count-and-say sequence is the sequence ...