drf专栏 02.使用django实现前后端分离

 

# 01.使用django实现前后端分离

[toc]{type: "ol", level: [2, 3, 4, 5]}

### 环境搭建
#### 查看项目环境
```python
pip list
```
#### 安装django环境
```python
pip install django
```
<br><br>

### 应用
#### 创建应用
```python
python manage.py startapp shop
# python ../../manage.py startapp shop
```
#### 注册应用
```python
### settings.dev
'shop.apps.ShopConfig',
```
<br><br>


### 模型类
#### 创建模型类
```python
### shop.models
from django.db import models


# Create your models here.
# 使类具有ORM的功能
class Category(models.Model):
    name = models.CharField(max_length=20, verbose_name='分类名称')
    
    def __str__(self):
        # 设置在admin中显示的内容
        return self.name


class Goods(models.Model):
    name = models.CharField(max_length=20, verbose_name='商品名称')
    desc = models.CharField(max_length=200, verbose_name='商品描述', null=True, blank=True)
    # 外键字段
    category = models.ForeignKey(Category, on_delete=models.CASCADE, verbose_name="分类名称")
    
    def __str__(self):
    # 设置在admin中显示的内容
    return self.name
```
#### 注册模型类
```python
### shop.admin
from django.contrib import admin
from .models import *

# 注册model,显示在后台管理界面
# Register your models here.
admin.site.register(Category)
admin.site.register(Goods)
```
<br><br>


### 数据迁移
#### 创建超级用户
```python
python manage.py createsuperuser
```
#### 进行数据迁移
```python
# cd root
python manage.py makemigrations
python manage.py migrate
```
<br><br>


### 路由分发
#### 创建文件
    在shop下创建urls.py文件
#### 配置路由
```python
### project.urls
path('shop/', include('shop.urls', namespace='shop')),
```
```python
### shop.urls
from django.urls import path
from . import views

urlpatterns = [
    path(r"", views.index, name='index')
]
```
<br><br>


### 视图搭建
```python
### shop.views
from django.http import JsonResponse
from django.core import serializers
from .models import *


# Create your views here.
# 如果以json或xml格式返回数据,则可以实现前后端分离
def index(request):
    categorys = Category.objects.all()
    categorys_json = serializers.serialize('json', categorys)
    return JsonResponse(categorys_json, safe=False)
```
<br><br>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值