安装npm

sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm

更新npm淘宝镜像源

sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list

全局安装n管理器,用于管理nodejs版本

sudo npm install n -g

安装稳定版nodejs(stable版本)

sudo n stable
sudo node -v

插一句:

-》sudo n latest  安装最新版本
-》sudo n stble   安装稳定版本            
-》sudo n v8.11.3 安装指定版本

安装vue命令行,俗称vue脚手架

sudo npm install --global vue-cli

测试:

(test是自己建的路径,比如/home/abtroot/study/vue/下建立test,cd到test目录下)
vue init webpack abt
(abt是你的项目名称,cd 到abt目录下)
npm run dev

浏览器输入localhost:8080就可以访问了,搞定(但是,如果这个端口被占用,或者断开还没立即释放,那么VUE可能开启8081、8082等等)

安装JDK(为PyCharm准备)

安装PyCharm

关于上述两处安装若有疑问,可参考类比
此文还指导了chrome的安装


开始干活


此处申明,搭建Django非本人原创,摘抄自 ,侵删

1.新建Django工程

python和vue怎么传参 python加vue_Vue


指定个文件夹,剩下的默认就好了

python和vue怎么传参 python加vue_App_02


2.在项目根目录创建后端

cd first
python3 manage.py startapp backend 
(注意啊我是Python3,如果你是Python2,应该这样写)
python manage.py startapp backend

3.使用vue-cli在根目录创建前端

vue-init webpack frontend

此处有一堆要你确定的东西,此处不表,细节请看:

4.工程一览

python和vue怎么传参 python加vue_Vue_03


5.前端做点事情

修改frontend/src/HelloWorld.vue文件

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>Essential Links</h2>
    <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  <el-row>
    <el-button>默认按钮</el-button>
    <el-button type="primary">主要按钮</el-button>
    <el-button type="success">成功按钮</el-button>
    <el-button type="info">信息按钮</el-button>
    <el-button type="warning">警告按钮</el-button>
    <el-button type="danger">危险按钮</el-button>
  </el-row>
  </div>
</template>

<script>

export default {
  name: 'HelloWorld',
  data() {
    return {
      msg: 'Welcome to Your Vue.js App',
      options: [{
        value: '选项1',
        label: '黄金糕'
      }, {
        value: '选项2',
        label: '双皮奶'
      }, {
        value: '选项3',
        label: '蚵仔煎'
      }, {
        value: '选项4',
        label: '龙须面'
      }, {
        value: '选项5',
        label: '一道名菜随便'
      }],
      value: ''
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

你在这里用了element-ui,你得有个说法,是不是!

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
//添加1
import ElementUI from 'element-ui'
import Vue from 'vue'
import App from './App'
//添加2
import 'element-ui/lib/theme-chalk/index.css'

Vue.config.productionTip = false
//添加3
Vue.use(ElementUI)
/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>'
})

切换到前端路径下,安装一下element-ui,不然这里引用也是空谈

cd frontend
npm install element-ui -S

试运行

npm install
npm run dev

没问题了?那就打包吧

npm run build

build完成后,会生成一个dist文件夹,里面有一个 index.html 和一个static文件夹。
前端歇了吧

6.后端Django做点事情

使用Django的通用视图 TemplateView修改静态指向路径(就是让Django访问目录指向我们刚才打包的dist/index.html)

找到项目根 urls.py文件

python和vue怎么传参 python加vue_Vue_04


修改如下:

from django.contrib import admin
from django.urls import path
from django.views.generic.base import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path(r'', TemplateView.as_view(template_name="index.html")),
]

配置Django项目的模板搜索路径和静态文件搜索路径
找到根目录下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',
            ],
        },
    },
]

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

看看我们的效果

python3 manage.py runserver

python和vue怎么传参 python加vue_App_05


再一次感谢大佬

PyCharm怎么支持VUE语法

安装插件,字不重要看图

python和vue怎么传参 python加vue_Vue_06


python和vue怎么传参 python加vue_django_07


感谢大佬

换主题?

参考webstrom换主题,此处不表