django后端跨域
1、 在主路由下配置app,做路由分发
django---主路由urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('app01/', include('app01.urls'))
]
# app01/urls.py
from django.urls import path
from . import views
urlpatterns = [
]
2、 在models.py中设计新闻分类表
django---models.py
from django.db import models
# Create your models here.
# 在models.py下每新建一个类,就代表在数据库新建一张表
class Cate(models.Model):
# 类下面的属性,是表中字段
name = models.CharField(max_length=32)
def __str__(self):
return self.name
3、 生成迁移文件和执行迁移文件
django---Terminal
python manage.py makemigrations
python manage.py migrate
4、 添加分类接口
django---views.py
from django.views import View
from django.http import JsonResponse
from .models import Cate
class CateView(View):
def post(self, request):
# 获取网页提交数据
name = request.POST.get('name') # None
# 判断数据是否完整 没有拿到数据的话,返回消息,数据不完整
if not name:
return JsonResponse({
'msg': '数据不完整', 'code': 400}, json_dumps_params={
'ensure_ascii': False})
# 如果拿到数据,添加
Cate.objects.create(name=name)
return JsonResponse({
'msg': '添加成功', 'code': 200}, json_dumps_params={
'ensure_ascii': False})
5、 添加路由
django---urls.py
from django.urls import path
from . import views
urlpatterns = [
path('cate/', views.CateView.as_view()), # 分类增删改查
]
6、 分类接口文档
请求地址: http://127.0.0.1:8000/app01/cate/
请求方法: post
请求参数:
字段 | 类型 | 必填 |
---|---|---|
name | string | true |
返回数据:
# 请求失败,数据为空时的提示
{
'msg': '数据不完整',
'code': 400
}
# 请求成功
{
'msg': '添加成功',
'code': 200
}
7、 在vue下新建AddCate.vue页面,实现页面表单功能
vue
创建vue:
vue init webpack myvue
安装axios:
cnpm install --save axios
1、 配置全局axios
在src文件夹下main.js当中,进行配置
vue
import axios from 'axios'
Vue.prototype.axios = axios
axios.defaults.baseURL = 'http://127.0.0.1:8000'
2、 在src下的components下新建AddCate.vue页面
vue
<template>
<div>
<!-- 在这里写添加分类的表单 -->
<div>
<form action