下面我将为您详细讲解“Python Django Vue 项目创建过程详解”:
Python Django Vue 项目创建过程详解
什么是 Django 和 Vue
Django 是一个开源的 Web 应用程序框架,它使用 Python 编程语言编写,可以轻松地在服务器上进行网络开发。它有一个开发人员友好的API,可以加速开发过程,同时保持代码简洁,并提供了一些强大的工具和功能,如模板系统、ORM等。
Vue 是一个开源的 JavaScript 框架,用于构建用户界面。它被设计为简单易用,并且具有响应式的数据绑定和固定组件结构,使得开发者能够非常快地构建出高质量的 Web 应用程序。
项目创建步骤
- 安装 Python 和 Django
在开始项目之前,您需要确保您的系统上已经安装了 Python 和 Django。
您可以通过以下命令安装 Django:
pip install Django
- 创建 Django 项目
使用以下命令创建 Django 项目:
django-admin startproject project_name
这将在当前目录中创建一个名为 project_name 的 Django 项目。在该目录中,您将发现一个名为 manage.py 的文件,它是 Django 项目的命令行工具。
- 创建 Django 应用程序
使用以下命令创建 Django 应用程序:
python manage.py startapp app_name
这将在项目目录中创建一个名为 app_name 的 Django 应用程序。
- 配置 Django
在 Django 项目的 settings.py 文件中,您需要进行一些配置。我们需要在 INSTALLED_APPS 中添加我们刚刚创建的应用程序名称,然后对 数据库进行配置。
在 settings.py 文件中添加以下代码:
INSTALLED_APPS = [
# ...
'app_name',
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
在本例中,我们使用默认的 SQLite3 数据库。
- 创建 Vue 项目
使用以下命令创建 Vue 项目:
vue create vue_project_name
这将创建一个名为 vue_project_name 的 Vue 项目。
- 配置 Vue
在 Vue 项目的 src 目录中,我们需要创建该项目的入口文件和其他必要组件。
- 连接 Django 和 Vue
我们可以使用 Django REST framework 创建一个基于 RESTful 的 API 接口,进行 Django 和 Vue 之间的数据传递。
例如,在 Django 应用程序中创建一个 API 视图:
from rest_framework.views import APIView
from rest_framework.response import Response
class MyView(APIView):
def get(self, request):
data = {"message": "Hello, world!"}
return Response(data)
该视图将返回一个 JSON 数据 {"message": "Hello, world!"},用于 Vue 项目请求数据。
在 Vue 项目中,我们可以使用 Axios 进行 HTTP 请求,与 API 进行数据交互。
import axios from 'axios';
axios.get('/api/my-view/')
.then(response => {
console.log(response.data);
});
- 运行项目
最后,运行 Django 项目和 Vue 项目,即可实现项目创建。
在 Django 项目的目录中,使用以下命令运行 Django 项目:
python manage.py runserver
在 Vue 项目的目录中,使用以下命令运行 Vue 项目:
npm run serve
示例说明
以下是两个示例说明:
示例一
假设您要创建一个名为 myproject 的 Django 项目,其中包含一个名为 myapp 的应用程序,并且要在其中嵌入一个名为 myvueproject 的 Vue 项目,则项目创建步骤如下:
-
创建 Django 项目
django-admin startproject myproject
-
创建 Django 应用程序
python manage.py startapp myapp
-
编辑 Django 设置
在 myproject/settings.py 文件中添加以下代码:
```python
INSTALLED_APPS = [
# ...
'myapp',
]DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
``` -
创建 Vue 项目
vue create myvueproject
-
配置 Vue
编辑 myvueproject/src/main.js 文件,添加以下代码:
```javascript
import Vue from 'vue'
import App from './App.vue'
import router from './router'Vue.config.productionTip = false
new Vue({
router,
render: h => h(App)
}).$mount('#app')
``` -
连接 Django 和 Vue
在 myapp/views.py 文件中添加以下代码:
```python
from rest_framework.views import APIView
from rest_framework.response import Responseclass MyView(APIView):
def get(self, request):
data = {"message": "Hello, world!"}
return Response(data)
```在 myvueproject/src/components/HelloWorld.vue 文件中添加以下代码:
```javascript
import axios from 'axios';export default {
name: 'HelloWorld',
data() {
return {
message: 'Loading...'
}
},
mounted() {
axios.get('/api/my-view/')
.then(response => {
this.message = response.data.message;
});
}
}
``` -
运行项目
在 myproject 目录中,使用以下命令运行 Django 项目:
python manage.py runserver
在 myvueproject 目录中,使用以下命令运行 Vue 项目:
npm run serve
-
访问项目
在浏览器中访问 http://localhost:8080 即可查看项目。
示例二
在示例二中,我们将为 Django 项目添加用户认证功能。
-
安装 Django REST framework
pip install djangorestframework
-
配置 Django
在 myproject/settings.py 文件中添加以下代码:
```python
INSTALLED_APPS = [
# ...
'rest_framework',
]REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
],
}
``` -
创建 Django 用户认证
在 myapp/views.py 文件中添加以下代码:
```python
from django.contrib.auth.models import User
from rest_framework import viewsets
from rest_framework.permissions import IsAuthenticated
from rest_framework.authentication import SessionAuthentication, BasicAuthentication
from rest_framework.response import Responseclass UserViewSet(viewsets.ViewSet):
authentication_classes = [SessionAuthentication, BasicAuthentication]
permission_classes = [IsAuthenticated]def list(self, request): queryset = User.objects.all() serializer = UserSerializer(queryset, many=True) return Response(serializer.data)
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'username', 'email']
``` -
创建 Vue 组件
在 myvueproject/src/components/Users.vue 文件中添加以下代码:
```javascript
import axios from 'axios';export default {
name: 'Users',
data() {
return {
users: []
}
},
mounted() {
axios.get('/api/users/')
.then(response => {
this.users = response.data;
});
}
}
```在 myvueproject/src/router/index.js 文件中添加以下代码:
```javascript
import Users from '../components/Users.vue';Vue.use(Router)
export default new Router({
routes: [
{
path: '/users',
name: 'Users',
component: Users
}
]
})
``` -
修改 Vue 组件
在 myvueproject/src/App.vue 文件中添加以下代码:
javascript
<template>
<div id="app">
<router-link to="/users">Users</router-link>
<router-view />
</div>
</template> -
运行项目
在 myproject 目录中,使用以下命令运行 Django 项目:
python manage.py runserver
在 myvueproject 目录中,使用以下命令运行 Vue 项目:
npm run serve
-
访问项目
在浏览器中访问 http://localhost:8080/users 即可查看用户列表页面。
以上就是创建 Python Django Vue 项目的详细步骤和示例说明,若有不太明白的地方可以再问我哦。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Django Vue 项目创建过程详解 - Python技术站