django+vue兼容

安装node

Node.js

安装v14.17.1版本


安装vue-cli

运行命令安装vue-cli 3.12.1

sudo npm install -g @vue/cli@3.12.1

查看vue-cli是否安装成功

vue --version

代表成功


创建VUE项目

Cd到django项目中创建vue项目 方便项目管理以及方便资源读取

运行命令

vue create xxx

然后选择N 不使用默认配置 自定义vue配置

按照以下配置填写创建文件

出现这个就代表vue文件创建成功


vue-cil 项目目录结构

node_modules

:文件夹不要动用来存放vue依赖文件的

Public

静态资源,这里有一个index.html 模板,作为合成最终dist/index.html的骨架存在。

public下手动创建static文件夹用来存放js/css/图片等资源。django设置可以从static里取,vue就要设置在打包时往这个static里面存。

设置方法:vue_project根目录手动创建文件:vue.config.js ,内容为:

module.exports = {
    assetsDir:'static'
}

src文件夹

  Assets : 存放一些静态文件,我们不用这个之后。全部存到public/static下。

Components文件夹 : 小型组件存放位置

views文件夹:大型组件,母体组件存放位置。

App.vue : 作为所有的.vue的一个主管存在。里面的样式很可能影响全局。

man.js : 作为打包过程必要的主脚本,里面的代码会影响全局。

router.js: 作为路由管理器的存在。

其他配置文件不要乱动。

django 适配

想办法把路由配置成从vue项目中的index.html进行关联上。

从前:url -> views.py -> .html的

现在:url -> .html

urls.py中:

from django.views.generic import TemplateView
path('index/',TemplateView.as_view(template_name='index.html'))

settings.py中:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['vue_project/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',
            ],
        },
    },
]

想办法把vue项目内的static文件夹下的静态资源关联上。

settings.py中:

#关联Vue静态资源
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,"vue_project/dist/static"),
]

dist文件夹

dist文件夹 是vue打包后的 那个包本身。django要从dist里面拿到index.html和static的所有静态资源。

用户-电脑浏览器-django-dist包 -> vue-cli前端开发用的

打包命令:进入vue-cli 根目录下,就是我们的vue_project的根目录下。

执行 npm run build 即可打包

打包完成之后会生成dist文件夹

 

前端独立调试启动服务命令:npm run serve

 


兼容Element-UI

先打开官网

Element - The world's most popular Vue UI framework

使用npm安装

npm i element-ui -S****

查看VUE是否安装成功elm

打开package.json

如果有版本号以及elm这代表插件安装成功

修改vue设置

在main.js中引入以下设置

importVuefrom 'vue'
import App from './App.vue'
importrouterfrom './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.config.productionTip = false;
Vue.use(ElementUI);

newVue({
    el: '#app',
router,
    render: h => h(App)
}).$mount('#app')

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DjangoVue.js是当前非常流行的Web开发框架和库,许多开发者选择这两个工具来构建强大的Web应用程序。Django是一个强大的后端框架,它提供了许多功能,包括ORM,表单验证,用户认证和管理等等。Vue.js则是一个灵活的前端库,它可以用来构建单页面应用,也可以被用在传统的多页应用中。 在DjangoVue.js的组合中,Django主要负责后端的逻辑处理和数据存储,而Vue.js则负责前端的展示和交互。利用它们之间的强大特点,可以轻松构建出一个功能强大且用户友好的Web应用程序。 这种组合更适合开发大型的、复杂的Web应用程序。Django提供的ORM让开发者可以轻松地通过简单的Python代码来操作数据库。同时,Vue.js的模板和组件化设计使前端视图的构建变得简单和可维护。还可以使用Vue.js的路由和状态管理来实现SPA应用程序,从而提高用户体验。 总之,DjangoVue.js都是非常有用的工具,它们之间的结合可以极大地提高开发效率和用户体验,特别是对于开发大型的、功能复杂的Web应用程序。 ### 回答2: DjangoVue.js都是非常流行的web开发框架和库。Django是一个Python web框架,用于快速开发可扩展的web应用程序。它具有强大的ORM系统,用于管理数据库和数据模型,提供充分的安全和身份验证功能等。Vue.js是一个流行的JavaScript库,用于构建交互式的Web界面。它是一种响应式设计,能够帮助我们轻松地编写可复用负责的组件,提供了一些非常易于使用的API,用于管理DOM元素、操作数据、响应用户行为等。 在实战派中,DjangoVue.js的组合非常流行,因为它们能够相互补充,实现高效的web应用程序开发。Django提供了一个强大的后端框架,用于管理数据,处理业务逻辑,生成API等。在另一方面,Vue.js为前端提供了很好的交互体验和用户友好的界面,能够轻松地处理用户交互,响应前端数据,并快速部署应用。 DjangoVue.js的结合,能够让我们快速开发出高效易用的web应用。在开发之前,我们需要设计好后端数据模型和API接口,构建前端Vue.js组件,然后用Axios库连接后端API,实现对数据的增删改查。这也让DjangoVue.js的组合更加合适,因为它们能够在具有很强的相互兼容性的前提下,容易地构建出完整和稳定的应用程序。 ### 回答3: DjangoVue.js是两个非常流行的Web开发框架,它们都拥有自己的独特优势和特点。Django是一个基于Python的Web框架,它非常适合构建大型、高可靠性的Web应用程序,可以方便地处理后端逻辑和数据库。Vue.js则是一个轻量级的JavaScript框架,它致力于构建响应式的用户界面,可以帮助开发者构建快速、流畅的前端应用。 如果你是一个实战派程序员,建议你使用DjangoVue.js的组合进行Web开发。在这种组合下,Django可以负责处理后端逻辑和数据库,而Vue.js则可以负责构建动态的用户界面。DjangoVue.js非常互补,可以在不同的层次上提高应用程序的性能,例如在数据库层面、网络通信层面、前端用户界面层面等等。 如果你想成为一个优秀的Web开发工程师,掌握DjangoVue.js组合的技能非常重要。这需要你有一定的编程能力和经验,同时也需要你熟悉Web开发的工作流程和方式。当你学会了这种组合,你将可以轻松地构建高质量的Web应用,并且能够带来更好的用户体验和更高的应用性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值