Vue 使用 vscode 打包 第一步:进入Visual Studio Code界面,选择文件→首选项→设置 第二步: 如果设置显示的是 settings.json 文件,输入:”npm.enableScriptExplorer”:true,保存 如果设置显示的是图形界面,则找到 Enable Run From Folder 设置为选中 第三步:重启Visual Studio Code,重新进入界面,在左侧边菜单栏底部 2021-08-11 Vue #Vue
Vue 前后端分离跨域 因为前后端属于不同的域,导致每次ajax请求服务器都会当做新的用户访问,导致session丢失 解决方法 后端后端设置允许跨域,下面示例为 flask 12345678910111213@app.after_requestdef af_request(resp): """ #请求钩子,在所有的请求发生后执行,加入headers。 :param resp: :return: 2021-08-11 Vue #Vue
Vue-Router 之 1 route 和 router this.$route: 当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, name, params, query 等属性。 this.$router:全局的 router 实例。通过 Vue 根实例中注入 router 实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如 history 对象),任何页面也都可以调用其 push( 2021-08-11 Vue #Vue
Vue-Router 之 2 router.addRoutes 动态添加路由 语法123router.addRoutes([路由配置对象])// 或者this.$router.addRoutes([路由配置对象]) Vue-router 的动态添加子路由的注意事项 格式必须为数组的形式。 addRoutes添加的路由必须为一级路由。 切莫用JSON方法深copy路由对象 把动态的路由也添加到 $router.options.routes 里 1. 格式必须为数组的形式 2021-08-11 Vue #Vue
Vue-Router 之 3 动态路由 动态路由实现方式前端控制 不用后端帮助,路由表维护在前端 逻辑相对比较简单,比较容易上手 后端控制 相对更安全一点 路由表维护在数据库 一、前端控制思路:在路由配置里,通过meta属性,扩展权限相关的字段,在路由守卫里通过判断这个权限标识,实现路由的动态增加,及页面跳转;如:我们增加一个role字段来控制角色 具体方案: 根据登录用户的账号,返回前端用户的角色 前端根据用户的角色,跟 2021-08-11 Vue #Vue
Vue-Router 之 4 导航守卫 Vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入路由导航中:全局的,单个路由独享的,或者组件级的。 全局前置守卫 router.beforeEach使用场景: 跳转前需要做校验的地方,如:进入首页前做登录校验,如果已登录则跳转首页,否则跳转登录页。需要写在main.js文件中,表示在所有路由被访问之前做校验; 动态生成路由,在访问之前动态获取路由信息并 2021-08-11 Vue #Vue
Vue-Router 实现原理之 Vue 修改了 url,但是没有发送请求 前端路由概念通过改变 URL,在不重新请求页面的情况下,更新页面视图。 vue-Router 两种模式更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有 2 种方式: Hash:默认值,利用 URL 中的hash(“#”) http://localhost:8080/#/login history:利用URL中的路径(/home) http:// 2021-08-11 Vue #Vue
Vue-resource 和 vue-axios 拦截器 拦截器简介顾名思义,拦截器主要是拦截,放到 Vue 里面指对 Vue 发出的 http 请求和响应进行拦截,并可以对拦截的请求或响应做一些特殊的处理 拦截器能做的 添加统一的request的参数 比如header中加入 X-Requested-With,比如客户端需要实现sign和token的验证机制,比如你可以写 $http.get('/files', params),拦截器帮 2021-08-11 Vue #Vue
axios 官网地址:http://www.axios-js.com/zh-cn/docs 什么是 axios?Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 特性 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数 2021-08-11 nodejs #nodejs
vue 脚手架创建项目 1、前期准备 检查 node 是否安装 检查 npm 是否安装 12npm -vnode -v 2、设置国内源,这样你的下载速度会非常快:1234npm config set registry https://registry.npm.taobao.org// 查看源npm config list 3、安装 vue 和一些相关组件1234npm install @vue/cli -g// 2021-08-11 Vue #Vue
vue 配置文件 vue.config.js vue-config-js 官网简介 vue.config.js 简介vue-cli 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动创建。 vue.config.js 是一个可选的配置文件,如果项目的根目录(和 package.json 同级)中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 2021-08-11 Vue #Vue
Vue 插槽 1、element-UI 中如何获取当前行数据?123456<el-table-column prop label="操作"> <template slot-scope="scope"> <span class="edit"></span> <span class="delete" @click.prevent="deleteRo 2021-08-10 Vue #Vue
Django + uWSGI + Nginx 生产环境部署 官方文档:https://uwsgi-docs.readthedocs.io/en/latest/Options.html 背景如何在生产上部署 Django? Django的部署可以有很多方式,采用 Nginx+uwsgi 的方式是其中比较常见的一种方式。 概念介绍为什么需要 web 协议开发出的应用程序需要和服务器程序配合,才能为用户提供服务。但是不同的框架有不同的开发方式,需要有一种协议 2021-08-08 Python > Django #Python #Django
Django ORM 合并查询集 在用python或者django写一些小工具应用的时候,有可能会遇到合并多个list到一个 list 的情况。单纯从技术角度来说,处理起来没什么难度,能想到的办法很多,但我觉得有一个很简单而且效率比较高的方法是我以前没注意到的。那就是利用 chain 方法来合并多个list. 同样也可以用来合并django 的 QuerySet. 1. 用 | 合并多个 QuerySet12345678910 2021-08-08 Python > Django #Python #Django
Django ORM 模型动态修改参数,增加 filter 字段 123456789101112131415161718192021222324kwargs = {# 动态查询的字段} # 选择deleted_datetime为空的记录if exclude_deleted:kwargs[ 'deleted_datetime__isnull' ] = True # 选择特的categoryif category is not None:kwar 2021-08-08 Python > Django #Python #Django
Django csrf 官网:https://docs.djangoproject.com/zh-hans/3.2/ref/csrf/ 1、CSRF是什么跨站请求伪造(CSRF)与跨站请求脚本正好相反。跨站请求脚本的问题在于,客户端信任服务器端发送的数据。跨站请求伪造的问题在于,服务器信任来自客户端的数据。 2、无 CSRF 时存在的隐患跨站请求伪造是指攻击者通过 HTTP 请求江数据传送到服务器,从而盗取回话的 2021-08-08 Python > Django #Python #Django
Django 之入口源码解析 Django 入口源码解析django的后台进程通常通过下面这种方式运行: 12python manage.py runserver 127.0.0.1:8009 [options]python manage.py app [options] 我们假设当前的项目名为myproject,这里app表示要运行的app名称,具体为django项目中module/management/ 2021-08-08 Python > Django #Python #Django
Django 之数据库连接丢失问题的解决 问题在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种 OperationalError: (2006, ‘MySQL server has gone away’)OperationalError: (2013, ‘Lost connection to MySQL server during query’) 查询mysql全局变量SHOW GLOBAL VAR 2021-08-08 Python > Django #Python #Django
Django 使用getattr() 方法获取配置文件的变量值 1234from django.conf import settings item = getattr(settings, "变量名", "取不到就给一个默认值") 2021-08-08 Python > Django #Python #Django
Django 入门之 Cookie、Session cookieCookie的由来大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数 2021-08-08 Python > Django #Python #Django