Django学习

1.pycharm社区版创建django

PyCharm社区版如何创建Django项目并运行_pycharm社区版打开django-CSDN博客

2.Django TemplateDoesNotExist: rest_framework

当我们使用djangorestframework框架时,首先下载pip install djangorestframework

参考博文Django TemplateDoesNotExist: rest_framework-CSDN博客

3.rest_framework矿建创建一个api

创建一个文件夹,下面有如下三个文件

在views.py文件中添加如下内容

# 将响应以json格式输出
from rest_framework.response import Response
# 编写api
from rest_framework.decorators import api_view


# 表示请求方法为GET
@api_view(['GET'])
def get_data(request):
    goods = {"name": "测试商品", "price": 12.3}
    return Response(goods)

urls.py中添加如下内容

from django.urls import path
from . import views

urlpatterns = [
    path('', views.get_data)
]

项目的urls.py中添加如下内容

刷新浏览器

可以看到

4.创建应用

python manage.py startapp goods

可以看到目录下面多了一个名为goods的应用

打开项目的settings.py文件,将创建的app注册进去,一定记得添加逗号,不然后面数据迁移会报错

打开goods中的models.py创建模型

from django.db import models


class Goods(models.Model):
    name = models.CharField(max_length=100)
    price = models.FloatField()
    description = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

终端执行

python manage.py makemigrations
python manage.py migrate

创建超级管理员

python manage.py createsuperuser

注册模型

重启服务,在浏览器输入localhost:8000/admin可以看到如下页面

输入刚才注册的账号密码,可以添加数据

添加完成后可以看到刚才添加的测试数据显示在下面

5.数据序列化

在api文件夹中新建serializers.py,并添加如下内容

# 用于验证数据、序列化数据、反序列化数据
from rest_framework import serializers
from testD.goods.models import Goods


class GoodsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Goods
        fields = '_all_'
        depth = 1

修改api文件夹中views.py

# 将响应以json格式输出
from rest_framework.response import Response
# 编写api
from rest_framework.decorators import api_view

from testD.api.serializers import GoodsSerializer
from testD.goods.models import Goods


# 表示请求方法为GET
@api_view(['GET'])
def goods_list(request):
    goods = Goods.objects.all()
    serializer = GoodsSerializer(goods, many=True)
    return Response(goods)

修改api文件夹中urls.py

相关推荐

  1. Django框架学习入门

    2024-06-06 17:58:06       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 17:58:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 17:58:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 17:58:06       82 阅读
  4. Python语言-面向对象

    2024-06-06 17:58:06       91 阅读

热门阅读

  1. Redis-04

    2024-06-06 17:58:06       28 阅读
  2. 08- Redis 中的 GEO 数据类型和应用场景

    2024-06-06 17:58:06       23 阅读
  3. 语义化版本控制:软件工程的实用之道

    2024-06-06 17:58:06       33 阅读
  4. C语言---指针part2

    2024-06-06 17:58:06       28 阅读
  5. jvm 触发GC的时机和条件

    2024-06-06 17:58:06       25 阅读
  6. 分析JVM堆Dump日志定位线程阻塞原因

    2024-06-06 17:58:06       30 阅读
  7. 进口单座调节阀的特点

    2024-06-06 17:58:06       31 阅读