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文件中添加如下内容

python 复制代码
# 将响应以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中添加如下内容

python 复制代码
from django.urls import path
from . import views

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

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

刷新浏览器

可以看到

4.创建应用

python 复制代码
python manage.py startapp goods

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

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

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

python 复制代码
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 复制代码
python manage.py makemigrations
python manage.py migrate

创建超级管理员

python 复制代码
python manage.py createsuperuser

注册模型

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

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

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

5.数据序列化

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

python 复制代码
# 用于验证数据、序列化数据、反序列化数据
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

python 复制代码
# 将响应以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

相关推荐
江华森14 分钟前
Python 进阶编程实战 — 从多版本环境到百万级登录系统
python
C+-C资深大佬16 分钟前
python while循环
服务器·开发语言·python
星夜夏空9927 分钟前
C++学习(2) —— 类与对象基础
开发语言·c++·学习
-To be number.wan1 小时前
数据库系统 | 数据库安全与完整性
数据库·学习
czysoft1 小时前
se被限速
科技·学习·it·技术·魔法·先进·领先
zh路西法1 小时前
【现代控制理论与卡尔曼滤波】从状态空间到Python仿真实现
开发语言·python
Vodka~2 小时前
WSL2 + RViz GPU渲染机械臂
人工智能·python
子不语1802 小时前
从0开始学习S7-1200+ET200SP(3)——两台S7-1200通过TCP连接
网络协议·学习·tcp/ip
8Qi82 小时前
hello-agents学习笔记--Memory让Agent拥有记忆
人工智能·python·llm·agent·ai编程·vibecoding
Esaka_Forever3 小时前
Python 完整内存管理机制详解
开发语言·python·spring