≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

Django+Vue.js搭建前后端分离项目的示例

人气:384 时间:2019-04-07

这篇文章主要为大家详细介绍了Django+Vue.js搭建前后端分离项目的示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

在写这篇文章的时候,顺带学习了一下关于Markdown的使用方法。

笔者是个渣渣,一切都是自己在摸索的学着,所以也谈不上什么体系、系统学习。在这里主要是为了实现把项目前后端分离开。

这里假设你的电脑上所需的django、vue.js已经有了,如果没有,往下拉就是vue.js的安装流程。django前面写过了,就不赘述了。

 

一,正常搭建前后端分离项目流程

 

 

1.创建django项目

 

命令:

代码如下:


django-admin startproject ulb_manager

结构:

代码如下:


├── manage.py
└── ulb_manager
  ├── __init__.py
  ├── settings.py
  ├── urls.py
  └── wsgi.py

 

2.进入项目根目录,创建一个app作为项目后端

 

命令:

代码如下:


cd ulb_manager
python manage.py startapp backend

结构比上面最基本的,多了一块backend

 

3.使用vue-cli创建一个vue.js项目作为项目前端

 

命令:

代码如下:


vue-init webpack frontend

界面:

Project name:(默认回车键)

Project description:(默认回车键)

Auther:(输入自己的名字,随意)

...:(默认yes和回车键,暂时不太懂,刚开始接触,网上也没查到这一块东西,就全部选择默认或者Yes了)

结构多了一块frontend

结构总结:

项目根目录有两个新文件夹,一个叫backend,一个叫frontend,分别是:backend Django的一个app、frontend Vue.js项目

 

4.使用webpack打包Vue.js项目

 

命令:

代码如下:


cd frontend
npm install
npm run build

 

5.使用Django的通用视图TemplateView

 

在项目根目录下urls.py(即ulb_manager/urls.py)使用通用视图创建最简单的模板控制器。

代码:

代码如下:


urlpatterns = [
  url(r'^admin/', admin.site.urls),
  url(r'^$',TemplateView.as_view(template_name="index.html")),
  #url(r'^api/',include('backend.urls', namespace='api'))
  #最后一行代码我注释掉,因为运行报错:Error:No module named 'backend.urls',暂时解决不掉,但是我运行的时候,注释掉这行代码,是能正常运行的。
]

 

6.配置Django项目的模板搜索路径

 

打开settings.py(即ulb_manager/settings.py)找到TEMPLATES配置项,修改如下:

代码如下:


TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    #'DIRS': [],
    'DIRS':['frontend/dist'],
    'APP_DIRS': True,
    'OPTIONS': {
      'context_processors': [
        'django.template.context_processors.debug',
        'django.template.context_processors.request',
        'django.contrib.auth.context_processors.auth',
        'django.contrib.messages.context_processors.messages',
      ],
    },
  },
]

PS:之前学习django,是要在settings.py下的INSTALLED_APPS配置项下添加app的,所以我自己添加了'backend'。

 

7.配置静态文件搜索路径

 

打开settings.py(ulb_manager/settings.py),找到STATICFILES_DIRS配置项,配置如下:

代码如下:


# Add for vue.js
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, "frontend/dist/static"),
]

如果没有,自己添加。

到这里,运行django项目已经可以正常运行了。正常运行的界面如下:

【q1010.com温馨提示:图片暂缺】

运行界面

 

二,安装vue.js

 

如果电脑上,没有vue.js,以下是安装vue.js的过程:

 

1.node.js

 

vue.js的推荐安装环境是node.js,因此,我是先安装的node.js。

登陆node.js官网,下载最新的v6.11.1版本。

 

2.npm

 

集成于Node.js中,不需要装。

 

3.cnpm

 

在命令行中输入命令:

代码如下:


npm install -g cnpm --registry=http://registry.npm.taobao.org

等待安装完成。

4.安装vue-cli脚手架构建工具

在命令行中输入命令:

代码如下:


npm install -g vue-cli

等待安装结束。

到此,vue-cli已经安装完成。

PS:暂时摸不清楚如何把文件的目录树结构在Markdown里写出来。

有所修改,因为完全按照原版搬上来根本无法运行。写了一个最基本的框架。像个无头苍蝇一样……(而且也买不起云主机……新手也没必要买)

Markdown用起来觉得很自由,而且还能调用一些html的指令,还是蛮有意思的,虽然还没摸清楚,到底能调用多少、哪些指令……

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。

本文来自:http://www.q1010.com/184/3955-0.html

注:关于Django+Vue.js搭建前后端分离项目的示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • vue.js声明式渲染和条件与循环基础知识
  • vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
  • 基于Vue实例对象的数据选项
  • 基于Vue实现页面切换左右滑动效果
  • vuejs父子组件之间数据交互分析
  • vuejs事件中心管理组件间的通信分析
  • Vue计算属性的使用
  • vue.js评论发布信息可插入QQ表情功能
  • Vue2.0 vue-source jsonp 跨域请求
  • vue.js框架实现表单排序和分页效果
上一篇:vue 打包后的文件部署到express服务器上的方法
下一篇:vue.js框架实现表单排序和分页效果
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。