Django与Vue 前后端分离开发web(一)

2 篇文章 0 订阅
2 篇文章 0 订阅

@3个月浓缩精华Django与Vue联合项目开发

项目环境搭建

1、建立虚拟环境

虚拟环境建立虚拟环境建立

2、安装django

激活虚拟环境,安装Django,建立myweb工程激活虚拟环境,安装Django,建立项目
pip安装慢参考:
https://blog.csdn.net/zywvvd/article/details/100607820

Django常用命令django-admin.py和manage.py用法详解:
https://blog.csdn.net/weixin_42134789/article/details/80753001

3、进入工程,建立项目backend

在这里插入图片描述

注册项目

在这里插入图片描述

4、数据库设置

我用的mysql
在这里插入图片描述
配置数据库
在这里插入图片描述
配置成功后进行下测试
在这里插入图片描述
由于在python3.6.5中已经去掉MySQLdb库。需要安装mysqlclient

MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。
在这里插入图片描述
在pycharm中创建新数据库web_db。
在这里插入图片描述
settings.py中的数据库名name修改为web_db
在这里插入图片描述在这里插入图片描述

以下5、6、7分别按照Django MVT架构分别介绍

5、[M]在app目录下的models.py里我们简单写一个model

from django.db import models
# Create your models here.
class Book(models.Model):
    book_name = models.CharField(max_length=64)
    add_time = models.DateTimeField(auto_now_add=True)
    def __str__(self):
        return self.book_name

6、[V]在views.py里写视图控制API:add_book与show_book

from django.views.decorators.http import require_http_methods
from django.http import JsonResponse
from .models import Book
from django.core import serializers
import json


# Create your views here.
@require_http_methods(["GET"])
def add_book(request):
    response = {}
    try:
        book = Book(book_name=request.GET.get('book_name', ''))
        book.save()
        response['msg'] = 'success'
        response['error_num'] = 0
    except Exception as e:
        response['msg'] = 'success'
        response['error_num'] = 1
    return JsonResponse(response)


@require_http_methods(['GET'])
def show_book(request):
    response = {}
    try:
        books = Book.objects.filter()
        response['list'] = json.loads(serializers.serialize("json", books))
        response['msg'] = 'success'
        response['error_num'] = 0
    except Exception as e:
        response['msg'] = str(e)
        response['error_num'] = 1
    return JsonResponse(response)

模版用前端框架Vue代替,这里介绍url路由

7 [T]在backend新增一个urls.py文件,把我们新增的两个接口添加到路由里。

在后端项目的url中设置如下

from django.urls import path
from backend import views

urlpatterns = [
  #  path('', views.index, name='index'),
    path('add_book', views.add_book, name='add_book'),
    path('show_book', views.show_book, name='show_book')
]

在Django项目的url中设置如下

from django.contrib import admin
from django.urls import path, include
import backend.urls

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(backend.urls))
]

8 数据迁移并运行测试

执行数据迁移。
在这里插入图片描述
在这里插入图片描述
Test
在这里插入图片描述
成功运行,返回json数据。下一步就可以通过数据与前端进行交互
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值