202009-29 django 解决自定义序列化返回处理数据为null的问题 在接口返回数据时,如果数据库表中查询出来的某些字段为null时,在前端需要多处理一些数据异常的情况。django可以自定义序列化返回处理,将返回的内容限制和预处理再返回到前端。1.未处理时返回如图上,有email、mobile这两个字段是有可以为空且默认值为null的。2.to_representation处理在模型序列化类增加,to_representation方法,以自定义数据处理限制fromrest_frameworkimportserializersfrom.modelsimportUserInfoclass... 继续阅读 >
202009-29 在Django中自定义filter并在template中的使用详解 Django内置的filter有很多,然而我们由于业务逻辑的特殊要求,有时候仍然会不够用,这个时候就需要我们自定义filter来实现相应的内容。接下来让我们从自定义一个get_range(value)来产生列表的filter开始吧。首先在你的djangoapp的models.py的同级目录建立一个templatetags的文件夹,并在里面新建一个init.py的空文件,这个文件确保了这个文件夹被当做一个python的包。在添加了templatetags模块之后,我们需要重新启动服务器才能使... 继续阅读 >
202009-29 SpringMVC自定义拦截器实现过程详解 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自定义一些拦截器来实现特点的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何javaweb工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截是SpringMVC框架自己的,只要使用SpringMVC框架的工程才能使用拦截器只会拦截访问的控制方法,如果... 继续阅读 >
202009-28 JavaScript自定义超时API代码实例 API是提供给不同语百言的一个接口,也就是对应的函数里面提供了相应的方法。我们只要用js的语法去调用想要的功能就可以。例如度js里面的BOM有screen的方法,他就是浏览器提供给我们的接口,能够对浏览器进行操作。实现一个Ajax请求时回调超时一个函数functiontimeoutify(fn,delay){varintv=setTimeout(function(){//设置超时定时器intv=null;fn(newError("Timeout!"));},delay);returnfunction()... 继续阅读 >
202009-27 Mybatis自定义typeHandle过程解析 一前言本篇文章的基础是建立在mybatis配置二准备工作2.1建表语句CREATETABLE`customer`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'主键',`customer_name`varchar(255)DEFAULTNULLCOMMENT'顾客名称',`gender`varchar(255)DEFAULTNULLCOMMENT'性别',`telephone`varchar(255)DEFAULTNULLCOMMENT'电话号码',`register_time`timestampNULLDEFAULTNULLCOMMENT'注册时间',PRIMARYKEY(`id`))ENGI... 继续阅读 >
202009-27 在python中利用pycharm自定义代码块教程(三步搞定) 当我们在使用pycharm时,输入特殊的关键字会有提示,然后按enter就可以自动补全,如果我们经常需要输出重复的代码时,能否也利用这种方法来自动补全呢?下面我们就来利用pycharm自定义代码块:1.打开pycharm中file下的setting,找到Editor下面的LiveTemplates,右侧就会出现各种语言的代码块,我们选择Python,点击右侧的“+”,选择LiveTemplate2.Abbreviation就是你自定义代码块的名字,Description是描述信息,Template是自... 继续阅读 >
202009-27 Android自定义控件单位尺寸实现代码 一、自定义控件的单位和尺寸1.一般在PC上会使用px(像素)和pt(磅)作为单位,但是在手机上由于不断地会更新手机屏幕的分辨率,因此使用这两个单位不再那么合适。可能在一部低分辨率手机上,一个控件占据整块屏幕,而在高分辨率的手机屏幕上连一半都占不到。我们先新建一个工程UISizeTest,然后修改activity_main.xml<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.andro... 继续阅读 >
202009-25 SpringCloud Zuul自定义filter代码实例 实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法。filterType():定义过滤器的类型,它有4种类型,分别是pre、post、routing和errorfilterOrder():过滤顺序,它是一个Int类型的值,值越小,越早执行该过滤器shouldFilter():表示该过滤器是否过滤逻辑,如果为true,则执行run方法,如果为false,则不执行run方法Objectrun():写具体的过滤逻辑注意重要说明,有些版本在转发post时,文件上传无法转法... 继续阅读 >
202009-25 django之导入并执行自定义的函数模块图解 1.现在有一个需求:我想在monitor应用中导入data文件夹下的apolos.py中的tes()函数并执行。打开monitor应用的视图,由于django项目的根路径是从项目开始的,所以直接fromdata.apolosimport*就可以把apolos.py文件中的所有函数导入。下面的list_num=tes()就可以执行自定义的功能,这样写的好处是把一部分功能移到了外部,简化了views视图函数,优化代码。补充知识:当import独立于django项目文件夹以外文件夹里面的东西时的... 继续阅读 >
202009-24 django自定义非主键自增字段类型详解(auto increment field) 1.django自定义字段类型,实现非主键字段的自增#-*-encoding:utf-8-*-fromdjango.db.models.fieldsimportField,IntegerFieldfromdjango.coreimportchecks,exceptionsfromdjango.utils.translationimportugettext_lazyas_classAutoIncreField(Field):description=_("Integer")empty_strings_allowed=Falsedefault_error_messages={'invalid':_("'%(value)s'valuemustbeaninteger."),}def__init... 继续阅读 >
202009-24 利用 kotlin 的方式自定义回调事件(kotlin函数参数) java中自定义回调事件的写法创建interface类,创建interface对象,实现set方法:使用:kotlin中自定义点击事件写法依照java的思想(不推荐)创建interface类,创建interface可变对象(var)使用:利用kotlin函数作为参数(强烈推荐)来看一下系统的点击事件在kotlin中是什么样的:是不是简直简洁到不像话?再看看你自己定义的点击事件回调,感觉跟还在用java开发一样…下面就来看个新的写法:创建一个函数对象,在需... 继续阅读 >
202009-24 android尺子的自定义view——RulerView详解 项目中用到自定义尺子的样式:原代码在github上找的,地址:https://github.com/QQabby/HorizontalRuler原效果为因为跟自己要使用的view稍有不同所以做了一些修改,修改的注释都放在代码中了,特此记录一下。首先是一个自定义View:publicclassRuleViewextendsView{privatePaintpaint;privateContextcontext;privateintmaxValue=500;/***起点x的坐标*/privatefloatstartX;privatefloatstart... 继续阅读 >
202009-24 Kotlin之自定义 Live Templates详解(模板代码) 想必大家都知道androidstudio的livetemplates功能,那真是各种方便,比如你想使用newInstance去生成一个类的实例:简直不要太方便!当今kotlin流行起来了,你在使用kotlin开发android的时候,是不是发现以前用的logt、loge、newinstance…,这些快捷创建代码片段的方式都不能用了,没关系,来一起自定义吧年轻人~打开androidstudio>>File>>Settings,搜索“livetemplates”:来看看我们之前在java代码里用... 继续阅读 >
202009-24 Android自定义流式布局/自动换行布局实例 最近,Google开源了一个流式排版库“FlexboxLayout”,功能强大,支持多种排版方式,如各种方向的自动换行等,具体资料各位可搜索学习^_^。由于我的项目中,只需要从左到右S型的自动换行,需求效果图如下:使用FlexboxLayout这个框架未免显得有些臃肿,所以自己动手写了一个流式ViewGroup。安卓中自定义ViewGroup的步骤是:1.新建一个类,继承ViewGroup2.重写构造方法3.重写onMeasure、onLayout方法onMeasuer方法里一般写测量子... 继续阅读 >
202009-24 Java基于自定义类加载器实现热部署过程解析 热部署:热部署就是在不重启应用的情况下,当类的定义即字节码文件修改后,能够替换该Class创建的对象。一般情况下,类的加载都是由系统自带的类加载器完成,且对于同一个全限定名的java类,只能被加载一次,而且无法被卸载。可以使用自定义的ClassLoader替换系统的加载器,创建一个新的ClassLoader,再用它加载Class,得到的Class对象就是新的(因为不是同一个类加载器),再用该Class对象创建一个实例,从而实现动态更新... 继续阅读 >
202009-24 python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案) 有没有一种方法可以为Django项目中的每个应用程序创建多个自定义错误模板,我的意思是,在我的项目中,我有3个应用程序,每个应用程序将显示3种不同的custom404错误.现在,我在后台应用程序和前台显示相同的404错误页面.最佳答案创建一个自定义errorview并将其分配给根urls.py中的handler404变量:fromdjango.views.defaultsimportpage_not_founddefmy_error_404(request,exception):template_name='404.html'ifrequest.pa... 继续阅读 >