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

相关推荐
旖旎夜光4 分钟前
【C++ 基础入门】C++ 继承(上):概念、切片、隐藏、默认成员函数与友元
c++·笔记·学习
Godspeed Zhao5 分钟前
从零开始学AI24——无监督学习之K均值
学习·机器学习
郝学胜-神的一滴9 分钟前
AI 编程智能体 27:吃透MCP通信机制
人工智能·python·langchain·wpf·numpy·scikit-learn
天天被压力17 分钟前
【A股分钟级高频数据完全手册 #09】A股历史分时交易数据接口:普通分时怎么批量下
java·人工智能·python
叼烟扛炮18 分钟前
[LangChain] 学习笔记(05):提示词模板(Prompt)与少样本注入(Few-Shot)实战
linux·人工智能·笔记·学习·langchain·prompt
天天被压力25 分钟前
【A股分钟级高频数据完全手册 #10】股票实时行情数据接口Python:公开源实时交易取数
java·人工智能·python
特立独行的猫A10 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持10 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang11 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰12 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程