Table of Contents
{{ message }}
Home Web Front-end Vue.js Quick Start: Getting Started Guide to Vue3+Django4 Full-Stack Development

Quick Start: Getting Started Guide to Vue3+Django4 Full-Stack Development

Sep 08, 2023 am 09:38 AM
vue django full stack

Quick Start: Getting Started Guide to Vue3+Django4 Full-Stack Development

Quick Start: Getting Started Guide to Vue3 Django4 Full-Stack Development

With the rapid development of the Internet, full-stack development has become one of the hottest technology trends in recent years. In full-stack development, it is a common way to develop by combining front-end and back-end frameworks. This article will lead you into the world of Vue3 Django4 full-stack development and provide an introductory guide for beginners.

Vue3 is the latest Vue.js framework version. It has higher performance, better development experience and more new features. Django is an advanced Python web framework that provides rich functionality and scalability. Combining them together creates powerful and modern web applications.

Before you begin, make sure you have Node.js, Vue CLI, and Python installed correctly. Once the installation is complete, we can start creating our project. First, create a Vue3 project using the Vue CLI, open a terminal and run the following command:

1

vue create myproject

Copy after login

During the creation process, you can choose to use the Vue3 preset option, which will provide you with a Vue Router and Vuex Ready-made configuration. After the creation is completed, we enter the project directory and install the dependency packages of Vue and Django:

1

2

3

cd myproject

npm install vue@next

pip install Django

Copy after login

Next, we need to create a Django application in the project and create it with the following command:

1

2

3

django-admin startproject backend

cd backend

python manage.py startapp api

Copy after login

After creation is complete, we can start writing code. First, we need to add Vue’s static file path in Django’s settings.py file, find STATIC_URL and add the following code below it:

1

2

3

STATICFILES_DIRS = [

    os.path.join(BASE_DIR, 'frontend/dist'),

]

Copy after login

Then, we create a new urls.py file for Handle requests to the Vue front end. This file is located in the api directory. Write the following code:

1

2

3

4

5

6

from django.urls import path

from . import views

 

urlpatterns = [

    path('api/', views.api),

]

Copy after login

Next, we write the logic code in the views.py file to handle requests from the Vue front-end. Write the following code:

1

2

3

4

5

6

7

8

from django.shortcuts import render

from django.http import JsonResponse

 

def api(request):

    data = {

        'message': 'Hello from Django API!'

    }

    return JsonResponse(data)

Copy after login

In this simple example, we just return a JSON response containing a simple message. In actual applications, you can write more complex logic to handle different requests.

Next, we need to write front-end code with Vue. Go to the project directory and install Vue Router and Axios:

1

2

cd frontend

npm install vue-router@next axios

Copy after login

Then we open the src/router/index.js file and add the following code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import { createWebHistory, createRouter } from 'vue-router'

import Home from '../views/Home.vue'

import API from '../views/API.vue'

 

const routes = [

  {

    path: '/',

    name: 'Home',

    component: Home

  },

  {

    path: '/api',

    name: 'API',

    component: API

  }

]

 

const router = createRouter({

  history: createWebHistory(),

  routes

})

 

export default router

Copy after login

In this example, we define Two routes: '/' corresponds to the Home component, and '/api' corresponds to the API component. Then, we create Home.vue and API.vue components in the src/views directory. Here we only need to simply display some text information.

Now we can send a request in the API.vue component to obtain data from the Django API. Use the following code to replace the original content:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<template>

  <div>

    <h1 id="message">{{ message }}</h1>

  </div>

</template>

 

<script>

import axios from 'axios'

 

export default {

  data() {

    return {

      message: ''

    }

  },

  mounted() {

    axios.get('/api/')

      .then(response => {

        this.message = response.data.message

      })

      .catch(error => {

        console.error(error)

      })

  }

}

</script>

Copy after login

In this example, we send a GET request in the mounted hook function of the component, obtain the data returned by the Django API, and display the data to the page superior.

Now we have completed a basic full-stack application using Vue3 and Django4. You can run the following command to start the development server:

1

2

cd ..

python manage.py runserver

Copy after login

Then open http://localhost:8000/ in your browser and you will see a page containing Django API data.

Through the guidance of this article, we have led you to complete the introductory guide to Vue3 Django4 full-stack development. I hope it will be helpful to beginners, and I also hope you can further learn and explore the field of full-stack development. come on!

The above is the detailed content of Quick Start: Getting Started Guide to Vue3+Django4 Full-Stack Development. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to add functions to buttons for vue How to add functions to buttons for vue Apr 08, 2025 am 08:51 AM

You can add a function to the Vue button by binding the button in the HTML template to a method. Define the method and write function logic in the Vue instance.

How to use bootstrap in vue How to use bootstrap in vue Apr 07, 2025 pm 11:33 PM

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

How to reference js file with vue.js How to reference js file with vue.js Apr 07, 2025 pm 11:27 PM

There are three ways to refer to JS files in Vue.js: directly specify the path using the &lt;script&gt; tag;; dynamic import using the mounted() lifecycle hook; and importing through the Vuex state management library.

How to use watch in vue How to use watch in vue Apr 07, 2025 pm 11:36 PM

The watch option in Vue.js allows developers to listen for changes in specific data. When the data changes, watch triggers a callback function to perform update views or other tasks. Its configuration options include immediate, which specifies whether to execute a callback immediately, and deep, which specifies whether to recursively listen to changes to objects or arrays.

How to return to previous page by vue How to return to previous page by vue Apr 07, 2025 pm 11:30 PM

Vue.js has four methods to return to the previous page: $router.go(-1)$router.back() uses &lt;router-link to=&quot;/&quot; component window.history.back(), and the method selection depends on the scene.

What does vue multi-page development mean? What does vue multi-page development mean? Apr 07, 2025 pm 11:57 PM

Vue multi-page development is a way to build applications using the Vue.js framework, where the application is divided into separate pages: Code Maintenance: Splitting the application into multiple pages can make the code easier to manage and maintain. Modularity: Each page can be used as a separate module for easy reuse and replacement. Simple routing: Navigation between pages can be managed through simple routing configuration. SEO Optimization: Each page has its own URL, which helps SEO.

How to jump to the div of vue How to jump to the div of vue Apr 08, 2025 am 09:18 AM

There are two ways to jump div elements in Vue: use Vue Router and add router-link component. Add the @click event listener and call this.$router.push() method to jump.

How to use foreach loop in vue How to use foreach loop in vue Apr 08, 2025 am 06:33 AM

The foreach loop in Vue.js uses the v-for directive, which allows developers to iterate through each element in an array or object and perform specific operations on each element. The syntax is as follows: &lt;template&gt; &lt;ul&gt; &lt;li v-for=&quot;item in items&gt;&gt;{{ item }}&lt;/li&gt; &lt;/ul&gt; &lt;/template&gt;&am

See all articles