search
HomeWeb Front-endVue.jsBasics to practice: Getting started with Vue3+Django4 full-stack development

Basics to practice: Getting started with Vue3+Django4 full-stack development

Basics to practice: Introduction to Vue3 Django4 full-stack development

Overview:
Full-stack development means that a developer can handle front-end and back-end work at the same time , which is becoming increasingly important in modern web development. This article will introduce how to use Vue3 and Django4 for full-stack development, and provide some code examples to help readers get started.

  1. Installing and Configuring Vue3
    First, we need to install the Vue CLI to create and manage our Vue project. Run the following command on the command line to install Vue CLI:

    npm install -g @vue/cli

    After the installation is complete, use the following command to create a new Vue project:

    vue create my-project

    Select according to the prompts and select the default option.

  2. Create Vue components
    In a Vue project, we can use components to build user interfaces. In the src directory of the Vue project, create a folder named "components" and a file named "HelloWorld.vue" in it. In this file, we can write our component code, for example:

    <template>
      <div>
     <h1 id="message">{{ message }}</h1>
     <button @click="changeMessage">Change Message</button>
      </div>
    </template>
    
    <script>
    export default {
      data() {
     return {
       message: 'Hello World!'
     }
      },
      methods: {
     changeMessage() {
       this.message = 'New Message!'
     }
      }
    }
    </script>

    This is a simple component that contains a title and a button that changes the content of the title when the button is clicked.

  3. Configuring Django4
    Next, we need to install Django and create a new Django project. Run the following command on the command line to install Django:

    pip install django==4.0.0

    After the installation is complete, use the following command to create a new Django project:

    django-admin startproject myproject

    This will create a new Django project in the current directory named "myproject "'s new Django project.

  4. Create Django views and URLs
    In the root directory of the Django project, open the settings.py file and add the following content to the INSTALLED_APPS setting:

    INSTALLED_APPS = [
     ...
     'rest_framework',
     'myapp',  // myapp是我们将要创建的应用的名称,根据需要修改
     ...
    ]

    Then, add the following at the end of the settings.py file:

    REST_FRAMEWORK = {
     'DEFAULT_PERMISSION_CLASSES': [
         'rest_framework.permissions.AllowAny',
     ]
    }

    This will configure Django to use the REST framework to create the API.

Next, create an application named "myapp" in the root directory of the Django project:

python manage.py startapp myapp

In the myapp directory, open the views.py file, And add the following:

from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def hello_world(request):
    return Response({'message': 'Hello World!'})

This is a simple view function that will return a JSON response containing "Hello World!" when we access the URL.

Next, in the myproject directory, open the urls.py file and add the following content:

from django.urls import path
from myapp.views import hello_world

urlpatterns = [
    path('api/hello/', hello_world),
]

This will align our view function with the URL path '/api/hello/' association.

  1. Run the project
    Now, we have completed the basic configuration of Vue and Django. Next we need to connect the Vue application and the Django project.

In the root directory of the Vue project, open the "main.js" file and add the following content:

import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'

const app = createApp(App)
app.config.globalProperties.$http = axios
app.mount('#app')

This will globally configure the Vue application to use axios as the HTTP client.

In the root directory of the Vue project, open the "App.vue" file and add the following content:

<template>
  <div>
    <h1 id="message">{{ message }}</h1>
    <button @click="getMessage">Get Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: ''
    }
  },
  methods: {
    getMessage() {
      this.$http.get('http://localhost:8000/api/hello/')
        .then(response => {
          this.message = response.data.message
        })
        .catch(error => {
          console.error(error)
        })
    }
  }
}
</script>

This will send a request to Django's view when the button is clicked and will return message is displayed on the page.

Now, we have completed all configuration. In the root directory of the Vue project, run the following command to start the Vue development server:

npm run serve

In the root directory of the Django project, run the following command to start the Django development server:

python manage.py runserver

Now, Visit "http://localhost:8080" in your browser and you will see a page containing a "Hello World!" button. When you click the button, the page will display "Hello World!".

This is an introductory guide to full-stack development with Vue3 and Django4. With the sample code in this article, you can learn how to build a basic Vue and Django application and connect them together. Hope this helps you on your full stack development journey!

The above is the detailed content of Basics to practice: Getting started with Vue3+Django4 full-stack development. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
What are the disadvantages of VueJs?What are the disadvantages of VueJs?May 05, 2025 am 12:06 AM

The main disadvantages of Vue.js include: 1. The ecosystem is relatively new, and third-party libraries and tools are not as rich as other frameworks; 2. The learning curve becomes steep in complex functions; 3. Community support and resources are not as extensive as React and Angular; 4. Performance problems may be encountered in large applications; 5. Version upgrades and compatibility challenges are greater.

Netflix: Unveiling Its Frontend FrameworksNetflix: Unveiling Its Frontend FrameworksMay 04, 2025 am 12:16 AM

Netflix uses React as its front-end framework. 1.React's component development and virtual DOM mechanism improve performance and development efficiency. 2. Use Webpack and Babel to optimize code construction and deployment. 3. Use code segmentation, server-side rendering and caching strategies for performance optimization.

Frontend Development with Vue.js: Advantages and TechniquesFrontend Development with Vue.js: Advantages and TechniquesMay 03, 2025 am 12:02 AM

Reasons for Vue.js' popularity include simplicity and easy learning, flexibility and high performance. 1) Its progressive framework design is suitable for beginners to learn step by step. 2) Component-based development improves code maintainability and team collaboration efficiency. 3) Responsive systems and virtual DOM improve rendering performance.

Vue.js vs. React: Ease of Use and Learning CurveVue.js vs. React: Ease of Use and Learning CurveMay 02, 2025 am 12:13 AM

Vue.js is easier to use and has a smooth learning curve, which is suitable for beginners; React has a steeper learning curve, but has strong flexibility, which is suitable for experienced developers. 1.Vue.js is easy to get started with through simple data binding and progressive design. 2.React requires understanding of virtual DOM and JSX, but provides higher flexibility and performance advantages.

Vue.js vs. React: Which Framework is Right for You?Vue.js vs. React: Which Framework is Right for You?May 01, 2025 am 12:21 AM

Vue.js is suitable for fast development and small projects, while React is more suitable for large and complex projects. 1.Vue.js is simple and easy to learn, suitable for rapid development and small projects. 2.React is powerful and suitable for large and complex projects. 3. The progressive features of Vue.js are suitable for gradually introducing functions. 4. React's componentized and virtual DOM performs well when dealing with complex UI and data-intensive applications.

Vue.js vs. React: A Comparative Analysis of JavaScript FrameworksVue.js vs. React: A Comparative Analysis of JavaScript FrameworksApr 30, 2025 am 12:10 AM

Vue.js and React each have their own advantages and disadvantages. When choosing, you need to comprehensively consider team skills, project size and performance requirements. 1) Vue.js is suitable for fast development and small projects, with a low learning curve, but deep nested objects can cause performance problems. 2) React is suitable for large and complex applications, with a rich ecosystem, but frequent updates may lead to performance bottlenecks.

Vue.js vs. React: Use Cases and ApplicationsVue.js vs. React: Use Cases and ApplicationsApr 29, 2025 am 12:36 AM

Vue.js is suitable for small to medium-sized projects, while React is suitable for large projects and complex application scenarios. 1) Vue.js is easy to use and is suitable for rapid prototyping and small applications. 2) React has more advantages in handling complex state management and performance optimization, and is suitable for large projects.

Vue.js vs. React: Comparing Performance and EfficiencyVue.js vs. React: Comparing Performance and EfficiencyApr 28, 2025 am 12:12 AM

Vue.js and React each have their own advantages: Vue.js is suitable for small applications and rapid development, while React is suitable for large applications and complex state management. 1.Vue.js realizes automatic update through a responsive system, suitable for small applications. 2.React uses virtual DOM and diff algorithms, which are suitable for large and complex applications. When selecting a framework, you need to consider project requirements and team technology stack.

See all articles

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.