栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django前后端分离框架_django vue部署?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django前后端分离框架_django vue部署?

bootstrap的安装和使用:

安装:
在vue项目下使用npm直接安装即可:
由于bootstrap依赖jQuery,所以第一步安装jQuery:
npm install jquery
检查在package.json的dependencies中是否已经存在代码:“jquery”: “x.x.x”
不存在就需要手动添加:“jquery”: “^x.x.x”

在build文件webpack.base.conf.js中添加两行代码:

const webpack = require('webpack')  //加在文件的变量定义区【文件开头】
module.exports = {
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'jquery': 'jquery' //这里是增加的
    }
  },
  plugins: [
    new webpack.ProvidePlugin({
      $: "jquery",
      jQuery: "jquery",
      "windows.jQuery": "jquery"//这里是增加的
    })
  ],
}

在main.js中加入如下代码:

import $ from ‘jquery’ ;

第二步安装bootstrap;
npm install bootstrap@3

在main.js 引入Bootstrap:

使用:

在组件中直接使用样式即可:

前后端项目通信的实现:开始

MVC模型:
M:model,主要封装对数据库层的访问,实现数据的增、删、改、查等操作;
V:View,用于结果封装生成页面展示给用户看;
C:Controller,用于控制,实现接受请求,完成请求的业务逻辑处理,与Modle和View交互
通过Django编写基于vue,前后端分离的后台接口:

第一步:安装插件,django-rest-framework(DRF)

pip install django-rest-framework

进入后端app目录创建urls.py

第二步:将DRF和sangfor配置到django项目中,打开项目中的settings.py文件,添加:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # demo add
    'rest_framework',
    'sangfor',
]
第三步:后端项目的路由配置,让访问index/路径时候转到sangfor应用中的urls.py文件配置进行处理
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
...
    path('index/', include('sangfor.urls')), 
] 
 

第四步:在models.py文件中写简单数据类
from django.db import models

# Create your models here.


class Sangfor(models.Model):
    name = models.CharField(max_length=30)
    author = models.CharField(max_length=30, blank=True, null=True)


class Login(models.Model):
    name = models.CharField(max_length=20, blank=True, null=True)
    passwd = models.CharField(max_length=20, blank=True, null=True)
 

第五步:在sangfor文件夹中创建serializer.py文件,并写对应序列化器sangforSerializer:
from rest_framework import serializers

from sangfor.models import Sangfor
from sangfor.models import Login


class SangforSerializer(serializers.ModelSerializer):
    class meta:
        model = Sangfor
        fields = '__all__'


class LoginSerializer(serializers.ModelSerializer):
    class meta:
        model = Login
        fields = '__all__'
第六步:在views.py文件中写对应的视图集SangforViewSet来处理请求:
from django.shortcuts import render

# Create your views here.
from rest_framework import viewsets


# from books.models import Books.
from sangfor.models import Sangfor
from sangfor.models import Login

# from books.serializer import BooksSerializer
from sangfor.serializer import SangforSerializer
from sangfor.serializer import LoginSerializer


class SangforViewSet(viewsets.ModelViewSet):
    queryset = Sangfor.objects.all()
    serializer_class = SangforSerializer


class LoginViewSet(viewsets.ModelViewSet):
    queryset = Login.objects.all()
    serializer_class = LoginSerializer
第七步:在urls.py文件中写对应的路由映射:
from django.urls import path, include
from rest_framework.routers import DefaultRouter


from sangfor import views


router = DefaultRouter()
router.register('sangfor', views.SangforViewSet)
router.register('login', views.LoginViewSet)

urlpatterns = [
    path('', include(router.urls)),
]
第八步:检查后端接口效果:

命令行运行:
python manage.py makemigrations
python manage.py migrate
python manage.py runserver

请求相应接口:
如:http://127.0.0.1:8000/index/sangfor/
http://127.0.0.1:8000/index/login/
出现如下操作界面说明后台接口没有问题:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号