@3个月浓缩精华Django与Vue联合项目开发
项目环境搭建
1、建立虚拟环境
虚拟环境建立
2、安装django
激活虚拟环境,安装Django,建立myweb工程
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数据。下一步就可以通过数据与前端进行交互