一步一步:Vue3+Django4全棧項(xiàng)目實(shí)現(xiàn)步驟
隨著Web開(kāi)發(fā)的不斷發(fā)展,全棧開(kāi)發(fā)逐漸成為了趨勢(shì)。Vue和Django作為前后端開(kāi)發(fā)中最受歡迎的技術(shù)棧之一,他們的組合也是十分強(qiáng)大的。在本文中,我們將一步一步地介紹如何使用Vue3和Django4實(shí)現(xiàn)一個(gè)全棧項(xiàng)目。
- 準(zhǔn)備工作
首先,我們需要在本地安裝Node.js和Python,以及相應(yīng)的包管理器npm和pip。同時(shí),我們也需要一個(gè)集成開(kāi)發(fā)環(huán)境(IDE),比如VS Code。
創(chuàng)建Django項(xiàng)目
打開(kāi)終端,進(jìn)入你希望創(chuàng)建項(xiàng)目的目錄,執(zhí)行以下命令來(lái)創(chuàng)建Django項(xiàng)目:
django-admin startproject myproject
登錄后復(fù)制
創(chuàng)建Django應(yīng)用
進(jìn)入項(xiàng)目目錄,執(zhí)行以下命令來(lái)創(chuàng)建一個(gè)Django應(yīng)用:
cd myproject python3 manage.py startapp myapp
登錄后復(fù)制
配置Django數(shù)據(jù)庫(kù)
打開(kāi)settings.py文件,配置數(shù)據(jù)庫(kù)信息,比如使用SQLite:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
登錄后復(fù)制
創(chuàng)建數(shù)據(jù)庫(kù)模型
在models.py文件中定義你的數(shù)據(jù)庫(kù)模型。比如,我們創(chuàng)建一個(gè)User模型:
from django.db import models class User(models.Model): name = models.CharField(max_length=100) email = models.EmailField() password = models.CharField(max_length=100)
登錄后復(fù)制
執(zhí)行數(shù)據(jù)庫(kù)遷移
運(yùn)行以下命令來(lái)執(zhí)行數(shù)據(jù)庫(kù)遷移:
python3 manage.py makemigrations python3 manage.py migrate
登錄后復(fù)制
創(chuàng)建Django視圖
在views.py文件中編寫(xiě)你的Django視圖函數(shù)。比如,我們創(chuàng)建一個(gè)獲取所有用戶(hù)的視圖函數(shù):
from django.shortcuts import render from django.http import JsonResponse from .models import User def get_users(request): users = User.objects.all() data = [{'name': user.name, 'email': user.email} for user in users] return JsonResponse({'users': data})
登錄后復(fù)制
創(chuàng)建Vue項(xiàng)目
在終端中,進(jìn)入你希望創(chuàng)建Vue項(xiàng)目的目錄,執(zhí)行以下命令來(lái)創(chuàng)建Vue項(xiàng)目:
vue create myproject
登錄后復(fù)制
配置Vue代理
在myproject/vue.config.js文件中配置Vue的代理,將請(qǐng)求代理到Django后端:
module.exports = { devServer: { proxy: { '^/api': { target: 'http://localhost:8000', changeOrigin: true } } } }
登錄后復(fù)制
創(chuàng)建Vue組件
在src/views目錄下創(chuàng)建一個(gè)Users.vue組件,用于顯示用戶(hù)列表:
<template> <div> <ul> <li v-for="user in users" :key="user.name"> {{ user.name }} - {{ user.email }} </li> </ul> </div> </template> <script> export default { data() { return { users: [] } }, created() { this.getUsers() }, methods: { getUsers() { axios.get('/api/users') .then(response => { this.users = response.data.users }) } } } </script>
登錄后復(fù)制
配置Vue路由
在src/router/index.js文件中配置Vue的路由,將Users.vue組件作為一個(gè)路由:
import Vue from 'vue' import VueRouter from 'vue-router' import Users from '../views/Users.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Users', component: Users } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router
登錄后復(fù)制
運(yùn)行項(xiàng)目
分別在Django和Vue的根目錄下執(zhí)行以下命令來(lái)運(yùn)行項(xiàng)目:
python3 manage.py runserver npm run serve
登錄后復(fù)制
現(xiàn)在,你可以在瀏覽器中訪(fǎng)問(wèn)http://localhost:8080來(lái)查看你的全棧項(xiàng)目了。Users組件將從Django后端獲取數(shù)據(jù),并顯示在頁(yè)面上。
總結(jié):
通過(guò)上述的步驟,我們成功地實(shí)現(xiàn)了一個(gè)使用Vue3和Django4的全棧項(xiàng)目。通過(guò)將前端和后端的開(kāi)發(fā)整合在一起,我們可以更高效地開(kāi)發(fā)出功能強(qiáng)大的Web應(yīng)用程序。希望本文對(duì)你有所幫助,讓你更好地熟悉Vue和Django的全棧開(kāi)發(fā)過(guò)程。
以上就是一步一步:Vue3+Django4全棧項(xiàng)目實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!