vue的安装

#### 、环境搭建
'''
- 安装node ```
官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/
``` - 安装cnpm ```
npm install -g cnpm --registry=https://registry.npm.taobao.org
``` - 安装脚手架 ```
cnpm install -g @vue/cli
``` - 清空缓存处理 ```
npm cache clean --force
``` #### 、项目的创建 - 创建项目 ```js
vue creat 项目名
// 要提前进入目标目录(项目应该创建在哪个目录下)
// 选择自定义方式创建项目,选取Router, Vuex插件
``` - 启动/停止项目 ```js
npm run serve / ctrl+c
// 要提前进入项目根目录
``` - 打包项目 npm run build
//要在项目根目录下进行打包操作
'''

1. vue 是简单的布置前端页面的框架

在vue项目里面 views 里面放入的是跳转的页面组件

2.
在vue项目里面 App.vue 是主要的页面组件,如果创建新的页面组件就需要添加

<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>|
<router-link to="/freecourse">FreeCourse</router-link> #这个是新增加的组件
</div>

3.
在vue项目里面 router.js 路由里面写路径:

import FreeCourse from './views/freecourse.vue'     #加载

        {
path: '/freecourse',
name: 'freecourse',
component: FreeCourse
},
#添加路由地址

4.
新增的组件让他生效做配置

<template>
<div class="about">
<h1>这是免费课程</h1>
{{course_list}} # {{*****}} 是动态渲染用的
<p v-for="course in course_list">{{course}}</p> #这里是用for语句循环显示渲染出来的内容
</div> </template>
######## template 是专门写渲染踹的内容 <script>
export default {
name: 'freecourse', #这里的name指向的是路由的名字
data: function () { #data 是让他渲染出来列表中的数据显示
return {
course_list: ['python课程', 'linux', 'go语言']
}
}
}
</script>
########script 是专门写策略的好让他可以在页面渲染出来想要的内容

5.
使用vue的ajax的发送请求方法

   安装: npm install axios  安装好了在package.json 可以看到

     在 main.js 中配置:
//导入axios
import axios from 'axios'
//把axios对象付给$http
Vue.prototype.$http=axios 在组件的js代码中写: <template>
<div class="about">
<h1>这是免费课程</h1>
<!--{{course_list}}-->
<p v-for="course in course_list">{{course}}</p>
<button @click="init">点我</button> #就是ajax请求,点击触发
</div>
<!--{{course_list}}-->
</template>
#############模板显示内容 <script>
export default {
name: 'freecourse',
data: function () {
return {
course_list: [] #这里设置为空就可以,数据驱动页面
}
},
methods: { #这里就是axios 发送请求的实现
'init': function () {
var _this = this #这里 吧this 赋值给_this
this.$http.request({
//向下面的地址发送get请求
url:'http://127.0.0.1:8078/course/', #url 指向的是后端发送请求的接口
method:'get' #设置请求模式
}).then(function (response) {
//response.data才是真正的数据
console.log(response.data)
_this.course_list=response.data #前面赋值给_this 拿到的数据给到course_list
})
} },
mounted: function () { //这段代码就是不需要点击事件了,当页面跳转到指定的,自动渲染页面了
this.init() }
}
</script>

6.

后端:
解决跨域问题:
创建一个文件 MyMiddle.py

from django.utils.deprecation import MiddlewareMixin

class MyMiddleware(MiddlewareMixin):
def process_response(self, request, response):
# 处理了简单请求
response['Access-Control-Allow-Origin'] = '*'
# 处理非简单请求
if request.method == 'OPTIONS':
response['Access-Control-Allow-Headers'] = '*'
# response['Access-Control-Allow-Methods']='PUT,PATCH'
response['Access-Control-Allow-Methods'] = '*' return response 在settings内添加解决跨域问题 MIDDLEWARE = [
'app.MyMiddle.MyMiddleware'
] 在视图函数中创建简单的一个数据信息:
from rest_framework.views import APIView
from rest_framework.response import Response class Course(APIView):
def get(self,request):
return Response(['python课程', 'linux', 'go语言','dasfdasfdasf'])

7.

后端开放用户上传图片接口:

    -开放media路径
-创建meidia文件夹(在根路径下)
-在setting中配置:
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
-在urls.py中
from django.views.static import serve
from luffy_city import settings
urlpatterns = [
url(r'^media/(?P<path>.*)', serve,{'document_root':settings.MEDIA_ROOT}),
]

vue的初识与简单使用---前后端分离通过接口调取数据的更多相关文章

  1. RESTful、共用接口、前后端分离、接口约定的实践 (转)

    出处:  某小公司RESTful.共用接口.前后端分离.接口约定的实践 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应对各种需求,更难以提 ...

  2. 前后端分离,接口API,契约

    前后端分离了,然后呢? http://icodeit.org/2015/06/whats-next-after-separate-frontend-and-backend/ Swagger - 前后端 ...

  3. 某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践

    阅读本文大概需要 4.6 分钟. 本文来自 https://juejin.im/post/59eafab36fb9a045076eccc3 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面 ...

  4. 某小公司RESTful、共用接口、前后端分离、接口约定的实践

    作者:邵磊 juejin.im/post/59eafab36fb9a045076eccc3 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应 ...

  5. node、Mongo项目如何前后端分离提供接口给前端

    node接口编写,vue-cli代理接口方法  通常前端使用的MocK 数据的方法,去模拟假的数据,但是如果有node Mongodb 去写数据的话就不需要在去mock 数据了,具体的方法如下. 首先 ...

  6. centos7上用docker搭建简单的前后端分离项目

    1. 安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 使 ...

  7. webpack 前后端分离开发接口调试解决方案,proxyTable解决方案

    如果你有单独的后端开发服务器 API,并且希望在同域名下发送 API 请求 ,那么代理某些 URL 会很有用. dev-server 使用了非常强大的 http-proxy-middleware 包. ...

  8. 前后端分离之接口登陆权限token

    随着业务的需求普通的springmvc+jsp已经不能满足我们的系统了,会逐渐把后台和前端展示分离开来,下面我们就来把普通的springmvc+jsp分为 springmvc只提供rest接口,前端用 ...

  9. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字

    缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...

随机推荐

  1. 在centos7中安装nodejs(npm )

    我当前使用的是Centos7 首先在官网查看当前最新的版本 https://nodejs.org/dist/ 我现在最新的是 https://nodejs.org/dist/latest-v10.x/ ...

  2. NGUI 合集

    UILabel  设置BBCode的时候 ,要设置颜色为白色 .不要设为其他的颜色因为会叠加的 .

  3. PAT 甲级 1011 World Cup Betting (20)(20 分)

    1011 World Cup Betting (20)(20 分)提问 With the 2010 FIFA World Cup running, football fans the world ov ...

  4. Hive数据导入导出的几种方式

    一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表. 导入: 本地文件导入到Hive表: Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他 ...

  5. 廖雪峰Java3异常处理-1错误处理-2捕获异常

    1捕获异常 1.1 finally语句保证有无错误都会执行 try{...}catch (){...}finally{...} 使用try...catch捕获异常 可能发生异常的语句放在try{... ...

  6. STP RSTP

    一.透明网桥 1.对于一般的透明网桥来说,通常都具有以下的特点: +拓展LAN的能力 +自主动态学习站点的地址信息 当网桥的某个端口上收到含有某个源MAC地址的数据帧时,它就把该MAC地址和接收该数据 ...

  7. PTA2016天梯赛决赛3小时训练赛

    7-2 I Love GPLT (5 分) 这道超级简单的题目没有任何输入. 你只需要把这句很重要的话 —— I Love GPLT ——竖着输出就可以了. 所谓“竖着输出”,是指每个字符占一行(包括 ...

  8. linux下的网络通信设置:openssh、PuTTY、tightVNC

    OpenSSH的安装: windows上安装PuTTY:  PuZZY上传文件到linux: 1.在window下的cmd中cd到PuZZY所在的文件夹下 2.使用pscp命令上传文件 3.使用psc ...

  9. Mysql 中获取刚插入的自增长id的值

    insert into user (username,password) VALUES ('); //获取刚插入的自增长id的值 select last_insert_id(); 在MySQL中,使用 ...

  10. 09 shell脚本程序练习

    练习1:写一个脚本程序,完成以下任务 1.添加五个用户,user1.user2.user3.user4.user5: 2.添加之前先判断是否存在该用户,如果存在则显示“某某用户已存在”: 3.每个用户 ...