现在前端技术更新很快,大家都喜欢用轻便又好用的Vue.js框架。再来说说Django,这是Python里面数一数二的Web框架,功能可强了!接下来咱们就教你怎么把Vue3跟Django4搭配到一起,让你的Web开发有新花样儿!
一、环境搭建
想要搞懂Vue3+Django4,首先要把你电脑里的Node.js和Python搞定。这两个小东西很关键,然后在命令行里直接安装VueCLI和Django,轻松搭建项目就这么简单!
npm install -g @vue/cli
搞定VueCLI就能轻松不少,npm立马帮你解决问题。然后,用命令行创建个叫做vue-django-project的Vue项目,这是咱学前端必须掌握的知识。说到Django,简单得很,用pip命令安装一下,马上就能动手搭建Django项目咯。
vue create vue-django-project
二、创建Django项目
pip install Django
搞定环境后,咱们就开始搞django项目了哟~首先,用命令弄个名字叫”django_project“的Django项目。然后,再建个叫”vueapp”的Django小应用,就在这个项目里面哈。下一步,就是在django_project/settings.py文件里做点修改,把”vueapp”加到”INSTALLED_APPS”列表里去,还要设好数据库连接参数。
django-admin startproject django_project
首先,咱们得找准vueapp/views.py,搞出个叫index的视图咯。接着,搞定vueapp文件夹下的urls.py文件,设置好路径就行了。然后,不管你在哪里,只要找到django_project/urls.py就可以了,我们只需把vueapp.urls加进去,让它和urlPatterns和睦共处,这样Django项目就能准确找到对应的视图!
三、创建Vue组件
cd django_project python manage.py startapp vueapp
搞定DJango后,就该轮到Vue组件!先在vue-django-project/src/components里建个文件名叫Example.vue,把要展示的玩意儿都放进去。弄完了,就在命令行敲下编译Vue项目的指令,然后你会看到一个新文件夹dist,里面就是编译好的代码。
INSTALLED_APPS = [ ... 'vueapp', ]
在咱们Django的项目设置里头,加一句话告诉Vue生成的静态图片在哪个位置。这样网页就能准确地找到并展示这些前端资源!
DATABASES = { 'default': { ... 'CONN_MAX_AGE': 600, } }
四、集成Vue到Django视图
下一步,我们要把之前做的那个Vue组件搬进Django视图里,这样网页上就可以看到效果!先在vueapp文件夹中建一个叫index.html的Django模板,把Vue组件的代码粘贴进去就行。接着,打开vueapp/views.py文件,更新index视图,把render方法的参数改成vueapp/index.html这个路径就搞定。
from django.shortcuts import render def index(request): return render(request, 'vueapp/index.html')
简单,你只要去那个站看下,就能看到我们用Vue组建搭建出的页面了!这样前后台界面就能无缝对接。
五、运行项目
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ]
最后一步,开动DJango开发服务器搞定!然后,上网页输入那个网址看看你的网页!这可是用了超厉害的Vue3和DJango4搞出来的哈~
from django.urls import include, path urlpatterns = [ ... path('', include('vueapp.urls')), ]
教你怎么用牛逼闪闪的Vue3和Django4这俩家伙,做出一个既潮又好用的网页应用。组合他们的优点,网页应用就能快如闪电,美得让人惊喜,还各种功能应有尽有!
希望这篇文章能给你们点儿启发好好钻研学习下Vue和Django,感觉会更有意思。相信未来这俩技术会越来越棒,我们也将有机会浏览到更多炫酷又实用的网站!
export default { data() { return { title: 'Vue3+Django4全新技术实践', content: '这是一个示例文本。', }; }, };{{ title }}
{{ content }}
评论0