Vue --- 前后台总结

请求生命周期:

1.先请求路由,在去替换APP.vue中的router-views

2.@表示src

3.加载全局css:

require('@/assets/....')

4.获取当前路由

this.$route.path   # 控制数据相关

5.切换到指定的路由

this.$router.push('/')   # 控制路由相关

6.清除最后一个框的margin

# 第一种
.car-tag:nth-child(5n){margin-right:0}   # 清除第五个框右边的margin
# 第二种
body.car-tag:nth-child(5n) a {margin-right:0}

7.css参数

display:none
    
width:100vw;   # vw屏幕宽度,按照百分比
height:100vh;   # vh屏幕高度,按照百分比

8.路由传参

# 获取路由中的pk值
this.$route.query.pk
this.$route.params.pk

9.django后端设置

更改时区语言

# ap:国际化配置
# TODO 国际化配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

标记,会提示上次写到哪里了

# TODO    #全局注释

10.vue安装ajax插件:axios

"""
1)安装插件(一定要在项目目录下):
	>: cnpm install axios
	
2)在main.js中配置:
	import axios from 'axios'
	Vue.prototype.$axios = axios;
	

3)在任何一个组件的逻辑中发送ajax请求:
    this.$axios({
        url: 'http://127.0.0.1:8000/cars/',
        method: 'get',
    }).then(response => {     // 成功后的操作,使用then
        console.log(response);
    }).catch(error => {  // 网络状态码为4xx、5xx,失败使用catch
        console.log(error);
    });	
"""

11.CORS跨越问题(同源策略)

"""
同源:http协议相同,ip服务器地址相同,app应用端口相同

跨域:协议,ip地址,应用端口有一个不同,就是跨域

django默认是同源策略,存在跨域问题 
"""

# 解决方法
1)Django按照cors模块:
	>: pip install django-cors-headers
	
2)在settings注册模块,配置中间件:
    INSTALLED_APPS = [
        ...
        'corsheaders'
    ]
    MIDDLEWARE = [
        ...
        'corsheaders.middleware.CorsMiddleware'
    ]

3)在settings开启允许跨越:
	CORS_ORIGIN_ALLOW_ALL = True

12.前后端进行数据交互的时候前端发生数据异常的处理

# 可以看到报错的信息
.catch(error => {console.log(error.response);}

13.数据包形式

GET:拼接参数
PORT:数据包参数

14.前端发送ajax数据给后台的方式

created() {
            // 完成ajax请求后台,获得数据库中的数据
            this.$axios({
                url: this.$settings.base_url + '/cars/',
                method: 'post',
                params: {  // url拼接参数:任何请求都可以携带
                    a: 1,
                    b: 2,
                    c: 3
                },
                data: {  // 数据包参数:只有get请求是无法携带的,但请求最快
                    x: 10,
                    y: 20,
                }
            }).then(response => {
                // console.log('正常', response);
                this.cars = response.data;
            }).catch(error => {  // 网络状态码为4xx、5xx
                console.log('异常', error.response);
            });
        }


# 后端接收
request.method
request.GET
request.POST
request.body   # 所有原始的数据包

15.后端见数据库字段 models

# 关于价格
price = models.DecimalField(max_digits=11, decimal_places=2)

# 关于图片
img = models.ImageField(upload_to='car', default='default.jpg')

# 其他配置
class Meta:
   db_table = 'old_boy_car'
   verbose_name = '汽车'
   verbose_name_plural = verbose_name

def __str__(self):
    return self.title

16.开设静态资源media

# settings中

# media
MEDIA_URL = '/media/'

# 项目media文件夹的绝对路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')


# urls中
from django.conf import settings  # 指向系统的settings文件

url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),

17.app注册

app注册作用是在反射的时候使用

18.拼接图片路径

from django.conf import settings

# settiongs中MEDIA_URL = '/media/'

for car in car_list:
    car['img'] = '%s%s%s' % ('http://localhost:8000', settings.MEDIA_URL, str(car.get('img')))

19.vue中js全局配置

# assets >>> js >>> settings.js中进行配置
export default {
    base_url: 'http://127.0.0.1:8000'
}


# main.js中进行全局配置
import settings from '@/assets/js/settings'
Vue.prototype.$settings = settings;


# 使用导入
this.$settings.base_url + '需要拼接的路径',


20.Vue配置elementUI

"""
1)安装插件(一定要在项目目录下):
	>: cnpm install element-ui
	
2)在main.js中配置:
	import ElementUI from 'element-ui';
	import 'element-ui/lib/theme-chalk/index.css';
	Vue.use(ElementUI);
	

3)使用:
	灵魂:复制粘贴
	
"""

21.Vue配置bootscript

jQuery

>: cnpm install jquery

vue/cli 3 配置jQuery:在vue.config.js中配置(没有,手动项目根目录下新建)

const webpack = require("webpack");

module.exports = {
    configureWebpack: {
        plugins: [
            new webpack.ProvidePlugin({
                $: "jquery",
                jQuery: "jquery",
                "window.jQuery": "jquery",
                Popper: ["popper.js", "default"]
            })
        ]
 		}
};

BootStrap

>: cnpm install bootstrap@3

vue/cli 3 配置BootStrap:在main.js中配置

import "bootstrap"
import "bootstrap/dist/css/bootstrap.css"

21.Vue中的实例成员

v     el     挂载点

data:{}   存放数据

methods:{}  定义函数,方法

delimiters:[]   分隔符

computed:{}    计算
    
watch:{}    监听
    
props:[ ]   通过字符串获取标签中属性变量对应的值

22.Vue中的指令

# 属性指令
v-bind:属性名=变量名  或  :属性名=变量名         

# 事件指令
v-on:时间名=变量名  或  @事件名=变量名

# 文本指令
{{ }}
v-text
v-html
v-once
    
# 表单指令
v-model=变量名

# 条件指令
v-show
v-if    v-else-if    v-else

# 循环指令
v-for

23.关于vue重点 $ 使用

# 自定义事件调用
this.$emit('自定义的事件名','需要传入的参数')

# router的逻辑跳转
this.$router.push('跳转的路径')

# router返回前进操作
this.$router.go(-1)   负为后退,正为前进

24.APP.PY

<router-view></router-view>      路由占位符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将 Vue-element-admin 与 Django 后台对接需要进行以下步骤: 1. 编写 Django 后台 API 接口,提供数据交互服务; 2. 在 Vue-element-admin 中安装 Axios,用于向后台发送请求; 3. 在 Vue-element-admin 中编写与后台 API 对接的代码; 4. 在 Vue-element-admin 中使用前端路由(vue-router)跳转到对应页面。 具体操作步骤如下: 1. 编写 Django 后台 API 接口 在 Django 中编写后台 API 接口,提供数据交互服务。可以使用 Django REST framework 来快速构建 RESTful API。 2. 安装 Axios 在 Vue-element-admin 中安装 Axios,可以使用以下命令: ``` npm install axios ``` 3. 编写与后台 API 对接的代码 在 Vue-element-admin 中编写与后台 API 对接的代码,可以使用 Axios 发送请求,例如: ``` import axios from 'axios' export default { // 获取用户列表 getUsers() { return axios.get('/api/user/') }, // 创建用户 createUser(user) { return axios.post('/api/user/', user) }, // 删除用户 deleteUser(id) { return axios.delete(`/api/user/${id}/`) } } ``` 4. 使用前端路由跳转到对应页面 在 Vue-element-admin 中使用前端路由(vue-router)跳转到对应页面,例如: ``` import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'Dashboard', component: () => import('@/views/dashboard/index') }, { path: '/user', name: 'User', component: () => import('@/views/user/index') }, { path: '/user/create', name: 'CreateUser', component: () => import('@/views/user/create') }, { path: '/user/:id/edit', name: 'EditUser', component: () => import('@/views/user/edit') } ] }) ``` 以上就是将 Vue-element-admin 与 Django 后台对接的基本步骤,具体实现还需要根据具体需求进行调整。 ### 回答2: Vue-element-admin是一个基于Vue.js和Element UI开发的后台管理系统框架,而Django是一个基于Python的Web开发框架。对接Vue-element-admin和Django后台,需要以下几个步骤: 1. 了解Vue-element-admin的架构和功能:首先需要熟悉Vue-element-admin的组件和页面结构,了解其提供的基本功能和接口。 2. 安装Django并配置数据库:在Django中创建一个新的项目,并配置好数据库信息,确保Django与数据库的连接正常。 3. 创建Django的URL和路由:根据Vue-element-admin的路由规则,在Django中创建对应的URL和路由,用于响应前端请求。 4. 编写Django的视图函数:编写Django的视图函数,处理前端请求并返回相应的数据。可以根据需要,操作数据库、调用其他后台服务等。 5. 前后端数据交互:根据Vue-element-admin的接口规范,与Django进行数据交互。可以使用axios库发送请求,同时使用Django的序列化器将数据转化为JSON格式返回给前端。 6. 数据权限控制:在Vue-element-admin中,可以根据用户权限动态显示菜单和路由。可以在Django中实现相应的权限控制逻辑,根据用户角色或权限限制相应的数据访问。 7. 进行前后端联调和测试:在前后端对接完成后,通过联调和测试确保系统的正常运行。可以使用开发者工具进行调试,在两端之间传递数据并检查返回结果。 总结起来,对接Vue-element-admin和Django后台,需要根据Vue-element-admin的组件和路由规则,在Django中进行相应的配置和编码,实现前后端的数据交互和权限控制。通过以上步骤,可以构建一个完整的Vue-element-admin后台管理系统,使用Django作为后台支持。 ### 回答3: vue-element-admin 是一个基于 Vue.js 和 Element UI 的后台管理系统模板。而 Django 是一个使用 Python 编写的高级 Web 开发框架。 对接 vue-element-admin 和 Django 后台的过程中,需要进行以下几个步骤: 1. 安装和配置 vue-element-admin 和 Django 工程。 - 首先,在本地搭建好 Django 工程,确保能够正常运行。 - 然后,在 vue-element-admin 的基础上建立 Vue.js 工程,配置好相关依赖。 - 将 Django 与 vue-element-admin 的工程整合在一起,确保两者可以同时运行。 2. 定义接口和数据交互方式。 - 在 Django 的工程中,根据需求定义后台接口,用于前后台数据的交互。 - 在 vue-element-admin 的工程中,使用 axios 等ajax库,通过 HTTP 请求与 Django 后台进行数据交互。 3. 配置路由和权限控制。 - 在 Django 的工程中,配置好路由,将前端请求映射到对应的后端视图函数。 - 在 vue-element-admin 的工程中,配置好前端路由,确保前端页面可以正确访问,并实现权限控制策略。 4. 前后台数据的处理和展示。 - 在 vue-element-admin 的工程中,通过获取 Django 后台的数据,对数据进行处理和展示。 - 可以使用 vue.js 的组件化开发思想,将数据展示和页面交互的逻辑进行拆分和重复利用。 通过以上步骤的对接,vue-element-admin 和 Django 后台可以实现前后台的数据交互、权限控制和页面展示。以此来构建一个完整的后台管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值