美文网首页Web我爱编程
Django+Vue.js搭建前后端分离项目

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

作者: Royal_KinM | 来源:发表于2017-07-22 16:27 被阅读9945次

在写这篇文章的时候,顺带学习了一下关于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项目已经可以正常运行了。正常运行的界面如下:


**运行界面**

二,安装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里写出来。原学习的网站:

https://zhuanlan.zhihu.com/p/25080236

有所修改,因为完全按照原版搬上来根本无法运行。写了一个最基本的框架。像个无头苍蝇一样……(而且也买不起云主机……新手也没必要买)
Markdown用起来觉得很自由,而且还能调用一些html的指令,还是蛮有意思的,虽然还没摸清楚,到底能调用多少、哪些指令……

Peace~

相关文章

  • Django+Vue.js搭建前后端分离项目

    在写这篇文章的时候,顺带学习了一下关于Markdown的使用方法。笔者是个渣渣,一切都是自己在摸索的学着,所以也谈...

  • Django+Vue.js搭建前后端分离项目 web前后端分离项

    一,正常搭建前后端分离项目流程 1.创建django项目 命令: django-admin startprojec...

  • linux上使用springboot发布html

    为演示业务流程,需要展示html页面,前后端分离的项目可直接运行前端项目,但作为前后端不分离的项目,搭建演示环境所...

  • 使用express做proxy测试代理服务器

    开篇 项目情况: 本项目前后端分离开发,前端测试需要搭建一个本地测试服务器,由于没有mock数据服务,所以项目中前...

  • spring全家桶项目开篇

    项目为前后端分离项目后端技术栈为: 此项目一共有十几个模块我们首先来搭建 父工程 parent 和 公共子模...

  • 项目概述

    一.项目简介 一个简单的前后端分离的web项目,后端语言为java ,着重记录项目环境搭建,发布到服务器中遇到的一...

  • spring security系列教程:基于session:用户

    看完这个教程可以搭建一个基于session的用户名+密码验证的权限框架,适用前后端不分离的项目架构。前后端分离的架...

  • 搭建企业微信群机器人通知助手(3)

    前两篇介绍了背景需求技术选型,那么,今天终于可以开始搭建项目,进行实战了! 项目搭建 后端搭建 新建项目 开发工具...

  • 了解vue-cli3

    why 快速构建项目使用前后端分离搭建 前台,后台 前台 : 以html,css这种页面布局开发 [ 页面布局 ...

  • 使用nginx解决跨域问题

    1.跨域解释 1.1 怎么知道我遇到了跨域问题 如果项目没做前后端分离,是不会有跨域问题的。前后端分离的项目中,前...

网友评论

    本文标题:Django+Vue.js搭建前后端分离项目

    本文链接:https://www.haomeiwen.com/subject/jksekxtx.html