码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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文件中添加如下内容

    1. # 将响应以json格式输出
    2. from rest_framework.response import Response
    3. # 编写api
    4. from rest_framework.decorators import api_view
    5. # 表示请求方法为GET
    6. @api_view(['GET'])
    7. def get_data(request):
    8. goods = {"name": "测试商品", "price": 12.3}
    9. return Response(goods)

    urls.py中添加如下内容

    1. from django.urls import path
    2. from . import views
    3. urlpatterns = [
    4. path('', views.get_data)
    5. ]

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

    刷新浏览器

    可以看到

    4.创建应用

    python manage.py startapp goods
    

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

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

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

    1. from django.db import models
    2. class Goods(models.Model):
    3. name = models.CharField(max_length=100)
    4. price = models.FloatField()
    5. description = models.TextField()
    6. created_at = models.DateTimeField(auto_now_add=True)
    7. def __str__(self):
    8. return self.name

    终端执行

    1. python manage.py makemigrations
    2. python manage.py migrate

    创建超级管理员

    python manage.py createsuperuser

    注册模型

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

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

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

    5.数据序列化

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

    1. # 用于验证数据、序列化数据、反序列化数据
    2. from rest_framework import serializers
    3. from testD.goods.models import Goods
    4. class GoodsSerializer(serializers.ModelSerializer):
    5. class Meta:
    6. model = Goods
    7. fields = '_all_'
    8. depth = 1

    修改api文件夹中views.py

    1. # 将响应以json格式输出
    2. from rest_framework.response import Response
    3. # 编写api
    4. from rest_framework.decorators import api_view
    5. from testD.api.serializers import GoodsSerializer
    6. from testD.goods.models import Goods
    7. # 表示请求方法为GET
    8. @api_view(['GET'])
    9. def goods_list(request):
    10. goods = Goods.objects.all()
    11. serializer = GoodsSerializer(goods, many=True)
    12. return Response(goods)

    修改api文件夹中urls.py

  • 相关阅读:
    基于springboot的疫情社区生活服务系统
    Docker基于alpine带glibc的小型容器image
    Git LFS提交大文件
    当需要在不同操作系统和编程语言环境中共享和处理 XML 数据时,可能会遇到哪些兼容性问题,以及如何解决?
    【含泪提速!】一文全解相似度算法、跟踪算法在各个AI场景的应用(附代码)
    Postgresql实验系列(2)批量获取事务ID
    ACM笔记
    迷茫6连,这就是测试人毕业5年后的真实写照吗?
    TensorFlow案例学习:图片风格迁移
    常见优化器总结
  • 原文地址:https://blog.csdn.net/2402_84062759/article/details/139305457
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号