自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 django api 跨域解决方案

1)pip3 install django-cors-headers2)settings.py INSTALLED_APPS,添加 corsheadersINSTALLED_APPS = ['corsheaders']3)MIDDLEWARE,添加 corsheaders.middleware.CorsMiddlewareMIDDLEWARE_CLASSES =['corsheaders.middleware.CorsMiddleware','django.middleware.commo

2021-06-25 15:28:59 263

原创 Django Orm 查询总结

Django提供了一套非常方便的类似lingQ的通过对象调用的方式操作数据库表的Orm框架,关于Django Orm的操作方式做下整理。Django Orm 操作主要分为以下几类:增-向表内插入一条数据删-删除表内数据(物理删除)改-update操作更新某条数据查-基本的表查询(包括多表、跨表、子查询、联表查询)其中比较复杂的是表查询,放到最后讲解。下面分类讲解这几种操作方式:1. 增-向表内插入一条数据关于 新增记录的操作这里分为两种方式第一种方式,通过模型对象的save()方法:

2021-06-17 16:38:05 1517 1

原创 Django QuereSet转JSON

adjango中对象转JSON 可以使用 json.dumps()方法,但当需要转的对象是QuerySet时,此方法报错,这里提供一种新的方式:引入:from django.http import HttpResponsefrom django.core import serializers使用方法: @action(methods=['get'], detail=False) # 自定义action def get_comment_list(self,request):

2021-06-16 16:10:24 288

原创 Dgango 外键关联查询

业务需求:当我们查询子表时想要获取到子表关联的主表数据,或者我们需要查询主表下某个子表所有对应主表记录的数据。功能拆分:创建一个具备外键关联主表的子表 Comment,子表关联查询主表。class Comment(models.Model): """ product_id: 对应商品id p_comment_id: 追加评价时对应 评价 id info: 评价的文本 u_id:评论人 id """ def _

2021-06-16 16:05:31 250

原创 Django连接 mysql数据库

django默认使用sqllite数据库,若需更换数据库需要更改项目配置文件:settings.py:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'HOST':'127.0.0.1', 'PORT':3306, 'USER':'root', 'PASSWORD':'****'#数据库密

2021-05-28 14:50:13 54

原创 Django REST framework 构建 webapi 项目

前置条件:django 与Django REST framework 已安装可以通过指令 pip3 list 查看是否安装安装指令:* pip install django * pip install djangorestframework搭建步骤:创建项目 django-admin startproject mysite创建应用python3 manage.py startapp webApi项目settings.py配置引入 Django REST framewor

2021-05-28 14:20:08 309

原创 vue前进加载页面后退缓存数据记录运动位置 以及 vue destroy替代方案

vue前进加载页面后退缓存数据记录运动位置 以及 destroy替代方案

2021-01-04 18:53:50 363

原创 微信跳转h5页面获取openid等信息

微信内跳转地址可以获取访问者的信息,包括openid,昵称等信息。本处主要讲免登录静默获取微信访问用户的 openid的方式。非静默类似所谓静默获取是指不去请求访问者手动开启权限,但这种方式只能访问到访问者的openid作为唯一键来区分访问者。首先获取访问者 openid分为两步,1)进入我们页面时需要判断url是否存在code 参数 (微信平台会返回 code 参数,所以我们的页面就不要占用这个参数的命名了)2)若没有code,则使用我们自己微信公众平台的 appid 去访问微信的链接拿到 co

2021-01-04 18:06:49 1094

原创 移动端浏览器底部栏遮挡网页底部内容问题处理

实际移动端项目中遇到,本来在pc端浏览器以及app内显示正常的h5页面,当用手机浏览器打开的时候,浏览器本身的底部栏会遮挡住H5页面的底部操作栏处理方式如下:1)首先获取移动端浏览器窗口的高度 getWindowConfig() { let windowWidth = window.innerWidth; let windowHeight = window.innerHeight; if (typeof windowWidth !== 'number') {

2021-01-04 17:40:48 7154 5

原创 vue中遇到scrollIntoView无效问题处理

官方文档写的简单:Element 接口的scrollIntoView()方法会滚动元素的父容器,使被调用scrollIntoView()的元素对用户可见。语法:element.scrollIntoView(); // 等同于element.scrollIntoView(true)element.scrollIntoView(alignToTop);// Boolean型参数element.scrollIntoView(scrollIntoViewOptions);// Object型参数首先容器

2020-12-28 18:30:18 12967 1

原创 vue组件异步动态加载

vue组件异步加载

2020-11-10 18:10:30 635

原创 移动端滚动穿透问题处理

移动端滚动穿透处理

2020-11-10 17:58:49 133

原创 移动端html页面隐藏滚动条

移动端隐藏滚动条

2020-11-10 17:48:58 413

原创 .prevent 与 .stop,以及解决其他地方长按,文本被选中的问题

事件后跟.stop 与.prevent 的作用:.stop 阻止事件冒泡.prevent 阻止事件的默认行为可以连起来用 类似 @touchstart.stop.prevent ,可以起到.stop与.prevent双者的作用项目中遇到需屏蔽移动端长按复制的需求,正常的通过 css -webkit-user-select: none能起到屏蔽作用,但偏偏还遇到有的文本还想保留长按可选择,又不想像京东淘宝那样长按调出复制按钮。但遇到问题是,如果有文本要长按可复制需要单独设置 -webkit-

2020-11-10 17:03:01 1477

原创 移动端禁止图片/文字长按默认行为

移动端禁止图片/文字长按默认事件

2020-11-10 11:30:41 717

原创 css文字适应容器宽度填充

text-align: justify;text-align-last: justify;

2020-11-10 10:15:27 1878

原创 css更改input输入框 placeholder样式

更改input 默认placeholder用到如下伪元素,针对各种平台处理,用的时候直接拷贝进去,对样式做下修改即可::-moz-placeholder { text-align: right; color: #999999;}::-moz-placeholder { text-align: right; color: #999999;}::-webkit-input-placeholder { text-align: right; color: #9999

2020-11-10 10:10:57 1198

原创 .net core Jwt token验证与jose token解析

一般项目中对接登录需要token验证用户信息,最近架构了一套后端基于.net core的系统框架,下面把过程中集成jwt遇到的问题分享给大家。实现逻辑:登录后利用jwt生成token包含用户基本信息返回给前端前端拿到token后存储在前端,并且每次请求后端接口中传给后端后端可以接收前端传入的token并使用jose进行解析本篇主要讲解后端实现,前端token的存储与传递给后端方式,之后文章将会单独讲解首先第一步,实现登录,并将登陆成功后的用户信息封装到token中,下面附代码:

2020-10-13 18:49:59 5292 1

原创 移动端0.5像素边框兼容性问题

项目中会遇到UI指定边框用0.5像素的,但实际单纯的border:0.5px solid #ddd;在很多移动端设备上会出现显示异常甚至直接消失,这是不同设备对像素处理的问题。像是很多android识别不了0.5像素就会直接不显示。这里提供一种我用的有效的解决方案:取消按钮的边框,并设置按钮定位 position: relative;为按钮添加 before伪元素,并设置 position: absolute;利用before模拟边框,并且先设置足够能被设备识别的边款,然后进行缩放到想要的边

2020-09-27 11:03:14 614

原创 类似京东淘宝历史搜索自适应长度搜索项超两行折叠功能实现

搜索的时候记录用户搜索历史,开始为了开发方便固定了每个搜索项的宽度,每行固定展示几项,类似下图:但这样虽然开发简单但用户体验肯定不好,如果搜索项比较短的话显示尚且完整,若搜索内容略长,就完全看不出自己之前搜索的是什么。现在要将其改为自适应长度,搜索项最多占用一行,超出一行部分省略,一般情况也不会超出一行。然后当按钮所占行数超过两行则自动隐藏超出部分,显示折叠按钮,可以点开或者折叠超出部分。难点在于,因为搜索项是自适应长度,你无法判断每一行会展示几个搜索项,也无法判断折叠点按钮放在哪一项之后。这个需

2020-09-18 18:35:33 2958 13

原创 v-solt插槽实践用法讲解

当声明的子组件需要在某个位置留出一段空间,让调用子组件的父组件自己扩展维护时,就需要用到vue的插槽概念 v-solt。v-solt分为三种类型:1.匿名插槽(也叫默认插槽),不需要命名,并且每个子组件有且只能声明一个eg.//父组件<component> <template v-slot:default> 任意内容 </template></component> //子组件 component<slot

2020-09-07 14:00:21 649

原创 日常开发常用 git 指令

git 指令:git status 检查仓库状态git branch -a 查看所有分支git branch 本地分支列表git checkout 分支名 检出/切换指定分支git push origin HEAD:refs/for/dev 推送分支到 devgit pull --rebase 拉取分支更改git add . 暂存git checkout -- src/main.js 暂存后撤回git commit --amend 追加合并提交(没有change id

2020-09-02 18:07:02 174

原创 vue自定义组件实现 v-model双向绑定数据

项目中会遇到自定义公共组件供项目调用,正常情况可以使用 props定义参数接收父组件传的参数,然后通过子组件的$emits()方法回传数据给父组件。类似如下:父组件<common-checkbox :checked="goodsSelected" class="left" :height="'16px'" :width="'16px'" @checkChange="checkChange"></common-checkbox> /** * 接收子组件回

2020-09-02 14:54:43 2043 2

原创 vscode设置背景图片

最近发现一个很好玩的vscode插件,对的,没错,不是好用是好玩。整天面对枯燥单调的vscode总会有些审美疲劳,先给大家看下效果:是不是感觉没有那么单调了?图片是可以自己选择,我选择的是炮姐,每次码代码累了看下炮姐感觉瞬间电力十足。下面说下如果实现vscode背景图片:首先需要安装图上的background插件然后左下角设置,点击设置搜索background这里需要将 Background:Use Default取消掉,当然如果觉得默认图片不需要换自己喜欢的图片的话不需要取消

2020-08-31 17:03:10 2298 2

原创 vue中的 keep-alive组件详解

keep-alive 组件是vue的一个内置组件,作用是当路由或者组件切换时,他会缓存住包裹在其中的组件或者页面的状态,而不是销毁掉,这样下次重新进入被包裹的路由页面时不会重新渲染dom二是从缓存中读取。一般情况下会结合路由配置全局监控调整例如可以在 app.vue中配置如下代码: <div id="app-warp" class="app-warp"> <keep-alive> <router-view v-if="$route.met

2020-08-31 16:27:23 1934

原创 vue中mixins的用法以及属性/方法/钩子函数优先级

对于一些在多个页面都会用到的方法和功能可以写在mixins中,之后每次用到只要简单的引入mixin文件到用到的页面即可实现复用。mixin文件的定义与正常vue组件的定义完全一致,都有 created,mounted…等钩子函数,以及data,methods方法用来声明当前用到的数据和方法使用时在需要的页面通过 mixins属性引入export default { mixins: [mixin, timeRecord], components: {}, data() {} }引入后

2020-08-31 15:56:47 5190

原创 vue v-html内元素绑定事件失效问题解决

最近项目中遇到需求,抓取原字符串信息中的手机号码,添加高亮以及添加点击复制功能,因为是字符串中拼接了html元素,vue默认依然显示为字符串不进行渲染,所以用到了v-html这个指令,但遇到新的问题,字符串中拼接元素内加的事件渲染出来并不会调用,查原因说是v-html中的标签不能调用vue method中的方法下面附代码以及实现方案:v-html中绑定的是这种形式: for (var i = 0; i < phoneNums.length; i++) { var temp

2020-08-27 15:37:23 1983

原创 js抓取字符串中的电话号码

最近遇到一个新的需求,页面展示物流信息中需要自动抓取字符串里的电话号码,添加高亮样式并点击调用拨打电话,下面对这个功能的实现做下整理,希望能帮到需要这个功能的小伙伴们实现功能前大概是这个样子现在要做的是抓取这段文本里的所有手机号码并添加样式本次项目的环境是基于vue,不过对于其他框架的项目依然适用,接下来附代码: selectPhoneNumber(str) { var regx = /(1[3|4|5|7|8][\d]{9}|0[\d]{2,3}-[\d]{7,8}|400[-]?

2020-08-27 15:26:38 4326 3

原创 移动端扫码加购功能web实现以及遇到的各种问题整理

移动端扫码加购功能实现

2020-08-25 18:59:50 357

原创 vue路由的钩子函数以及用法详解

关于vue路由的钩子函数,无论实际项目中还是面试中都是很重要的话题,下面根据自己实际项目中的了解简单介绍下vue路由的几个钩子函数以及在项目中的用处beforeEach这个钩子函数一般用于全局级别的,对整个项目的路由跳转进行监控,可以根据路由配置文件中的meta中的配置来进行相应的逻辑判断,比如 是否需要登陆/是否需要权限/是否要做缓存/是否显示头部尾部/是否进入时刷新等等。。router.beforeEach((to, from, next) => { if (to.meta.isUs

2020-08-21 18:38:14 2484 1

原创 vue中监听scroll事件失效的问题

vue项目中遇到需要监听页面某个元素距顶部距离实现吸顶效果,正常的window.addEventListener('scroll', this.handleScroll)完全失效,经过一段时间的探索发现这个事件在子组件中会遇到问题。可以用元素上的 @scroll事件来监听滚动,但有一点要注意,scroll的元素需要确认 设置overflow-y:scroll;height:100%的样式。下面附实现成功的代码:1.顶部元素添加 @scroll事件监听 <div class="specialt

2020-08-21 18:06:03 3786

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除