当前位置: 首页 > news >正文

Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用

一.Admin管理员的使用

1、启动django服务

使用创建管理员之前,一定要先启动django服务,虽然TASK01和TASK02是分开的,但是进行第二个流程的时候记得先启动django服务,注意此时是在你的项目文件夹下启动的,时刻注意要执行的文件夹。

我这里又重新创建了一个虚拟环境,此时的项目名字我命名为了 appproject ,主要也是为了便于区分,这里的项目名字是可以自己随便命名的,主要是为了自己便于理解。

python manage.py runserver

2.新建终端terminal

 此时我们看到此时启动服务之后终端下便没有再输入命令的行了,我的解决方法是再新建了一个终端(个人解决方法,是有效的)。

 虽然是一个新的操作界面,但是还是对当前项目执行操作。

3.创建超级管理员

 

 此时是在你的项目文件夹下执行的命令,执行命令之后会选择让你注册账户和密码,写完账号和邮箱之后输入密码和确认密码时此时是默认不显示输入的内容,此时只要你两次输入的内容相同,就会提示创建成功。

python manage.py createsuperuser #(创建超级管理员)

4.登录 admin 后台(浏览器中输入)

`http://127.0.0.1:8000/admin`

如果前边的步骤都对的话,输入网址后就会出现如图所示界面,然后按照你刚才创建的账号和密码登录就可以了。 

登陆成功后界面如图所示,记得自己创建时的账号和密码呀,如果忘了的话可以也是再重新创建管理员账号和密码的 ,再重新运行创建管理员命令。

5.配置文件

在**admin.py**文件中注册您的模型

from django.contrib import admin
from .models import * # 引入产品表
# 一定要分开逐个注册,不能放在一起
admin.site.register(Goods) # 在admin站点中 注册产品表
admin.site.register(GoodsCategory) # 在admin站点中 注册产品表

二、构建数据表(外键的使用)

一、更新自己的文件

* 更新产品表  **models.py**
# 外键
category = ForeignKey(GoodsCategory, on_delete=SET_NULL,related_name='goods_set',null=True,verbose_name='产品分类')# on_delete 设置当外键对应的数据被删除时的反应# null=True

如上图所示在 models.py 中更新文件

**views.py**```pythonfrom django.shortcuts import renderfrom rest_framework.response import Responsefrom .models import *from rest_framework.decorators import api_viewfrom django.shortcuts import get_object_or_404# Create your views here.# GET# POST# 函数式编程@api_view(['POST', 'GET'])def InsertGoodsCategory(request):category_name = request.data.get('分类名字')# 获取分类对象或创建新的分类对象category, created = GoodsCategory.objects.get_or_create(name=category_name)# 判断是否已存在分类if not created:return Response({"status": "已存在", "goods_category": category_name}, status=200)else:return Response({"message": f"Successfully inserted category '{category_name}'."})@api_view(['POST','GET'])def FilterGoodsCategory(request):data = request.data.get('分类名字')goods = GoodsCategory.objects.filter(name=data)if goods.exists():return Response({"status": "已存在", "goods_category": data}, status=200)else:return Response({"status": "不存在" ,"goods_category": data}, status=404)```**urls.py**
* 放入路由```pythonfrom django.contrib import adminfrom django.urls import pathfrom apps.erp_test.views import *urlpatterns = [path('admin/', admin.site.urls),path('filtergoodscategory/', FilterGoodsCategory),path('insertgoodscategory/', InsertGoodsCategory),]```  

 

 如上图所示这里是需要注意的,要替换为你自己所见的存放文件夹下所建立的APP名字,如下图所示我都替换为了自己所建的名字。

 二、使用postman针对`insertGoodsCategory/`和`filtergoodscategory/`API接口进行测试

 如上是我自己测试成功的截图,需要注意的一点是我们此时虽然是新开了一个终端来进行命令操作,但是运行结果还是会显示在第一个终端内,如下是在运行终端内成功的截图。

进行postman测试要下载postman,这是一个软件,需要进行注册账号,注册成功之后就会出现如上图所示界面。如下是项目中成功的截图

我认为比较难的(很不好操作)是这一步,因为之前没有接触过这一领域,但是感觉还是很有趣的,要使用post 和 get 执行命令,如下是我运行为未成功的截图。

 

 出现如上图所示报错时,回去再检查看哪个模块没有将项目给出的参数换成自己的项目的名字。

 假如出现上图所示的报错的话,可能时你的URL写错了,建议将那个名称直接进行手动复制,不要自己输入。

 

直接从上图所示位置复制 

相关文章:

Datawhale Django后端开发入门 Vscode TASK02 Admin管理员、外键的使用

一.Admin管理员的使用 1、启动django服务 使用创建管理员之前,一定要先启动django服务,虽然TASK01和TASK02是分开的,但是进行第二个流程的时候记得先启动django服务,注意此时是在你的项目文件夹下启动的,时刻注意要执…...

【ES5和ES6】数组遍历的各种方法集合

一、ES5的方法 1.for循环 let arr [1, 2, 3] for (let i 0; i < arr.length; i) {console.log(arr[i]) } // 1 // 2 // 32.forEach() 特点&#xff1a; 没有返回值&#xff0c;只是针对每个元素调用func三个参数&#xff1a;item, index, arr &#xff1b;当前项&#…...

学科在线教育元宇宙VR虚拟仿真平台落实更高质量的交互学习

为推动教育数字化&#xff0c;建设全民终身学习的学习型社会、学习型大国&#xff0c;元宇宙企业深圳华锐视点深度融合VR虚拟现实、数字孪生、云计算和三维建模等技术&#xff0c;搭建教育元宇宙平台&#xff0c;为学生提供更加沉浸式的学习体验&#xff0c;提高学习效果和兴趣…...

[python爬虫] 爬取图片无法打开或已损坏的简单探讨

本文主要针对python使用urlretrieve或urlopen下载百度、搜狗、googto&#xff08;谷歌镜像&#xff09;等图片时&#xff0c;出现"无法打开图片或已损坏"的问题&#xff0c;作者对它进行简单的探讨。同时&#xff0c;作者将进一步帮你巩固selenium自动化操作和urllib…...

vue项目预览pdf功能(解决动态文字无法显示的问题)

最近&#xff0c;因为公司项目需要预览pdf的功能&#xff0c;开始的时候找了市面上的一些pdf插件&#xff0c;都能用&#xff0c;但是&#xff0c;后面因为pdf变成了需要根据内容进行变化的&#xff0c;然后&#xff0c;就出现了需要动态生成的文字不显示了。换了好多好多的插件…...

vue3 样式穿透:deep不生效

初学vue3&#xff0c;今天需要修改el-input组件的属性&#xff08;去掉border和文字居右&#xff09; 网上搜了一下&#xff0c;大致都是采用:deep 样式穿透来修改el-input的属性 <div class"input-container"><el-input placeholder"请输入111&qu…...

云原生反模式

通过了解这些反模式并遵循云原生最佳实践&#xff0c;您可以设计、构建和运营更加强大、可扩展和成本效益高的云原生应用程序。 1.单体架构&#xff1a;在云上运行一个大而紧密耦合的应用程序&#xff0c;妨碍了可扩展性和敏捷性。2.忽略成本优化&#xff1a;云服务可能昂贵&am…...

【2023年11月第四版教材】《第5章-信息系统工程(合集篇)》

《第5章-信息系统工程&#xff08;合集篇&#xff09;》 章节说明1 软件工程1.1 架构设计1.2 需求分析1.3 软件设计1.4 软件实现&#xff3b;补充第三版教材内容&#xff3d; 1.5 部署交付 2 数据工程2.1 数据建模2.2 数据标准化2.3 数据运维2.4 数据开发利用2.5 数据库安全 3 …...

【qiankun】微前端在项目中的具体使用

1、安装qiankun npm install qiankun --save2、主应用中注册和配置qiankun 在主应用的入口文件main.ts中&#xff0c;引入qiankun的注册方法&#xff1a; import { registerMicroApps, start } from qiankun;创建一个数组&#xff0c;用于配置子应用的相关信息。每个子应用都…...

云安全与多云环境管理:讨论在云计算和多云环境下如何保护数据、应用程序和基础设施的安全

随着云计算和多云环境的广泛应用&#xff0c;企业正面临着数据、应用程序和基础设施安全的新挑战。在这个数字化时代&#xff0c;保护敏感信息和业务运作的连续性变得尤为重要。本文将深入探讨在云计算和多云环境下如何有效地保护数据、应用程序和基础设施的安全。 章节一&…...

npm install ffi各种失败,换命令npm i ffi-napi成功

网上各种帖子安装ffi&#xff0c;基本上到了windows build tools这里会卡住。 使用命令npm install --global --production windows-build-tools 安装报错信息如下&#xff1a; PS E:\codes\nodejsPath\tcpTest> npm install --global --production windows-build-tools …...

0.flink学习资料

论文&#xff1a; &#xff08;1&#xff09;google dataflow model 下载链接&#xff1a;p1792-Akidau.pdf (vldb.org) Akidau T, Bradshaw R, Chambers C, et al. The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scal…...

C语言:字符函数和字符串函数

往期文章 C语言&#xff1a;初识C语言C语言&#xff1a;分支语句和循环语句C语言&#xff1a;函数C语言&#xff1a;数组C语言&#xff1a;操作符详解C语言&#xff1a;指针详解C语言&#xff1a;结构体C语言&#xff1a;数据的存储 目录 往期文章前言1. 函数介绍1.1 strlen1.…...

基于.Net Core开发的医疗信息LIS系统源码

SaaS模式.Net Core版云LIS系统源码 医疗信息LIS系统是专为医院检验科设计的一套实验室信息管理系统&#xff0c;能将实验仪器与计算机组成网络&#xff0c;使病人样品登录、实验数据存取、报告审核、打印分发&#xff0c;实验数据统计分析等繁杂的操作过程实现了智能化、自动化…...

部署工业物联网可以选择哪些通信方案?

部署工业物联网有诸多意义&#xff0c;诸如提升生产效率&#xff0c;降低管理成本&#xff0c;保障生产品质稳定&#xff0c;应对长期从业劳动力变化趋势等。针对不同行业、场景&#xff0c;工业物联网需要选择不同的通信方案&#xff0c;以达到成本和效益的最佳平衡。本篇就简…...

flutter-移动端适配

不同屏幕之间的尺寸适配 使用插件 flutter_screenutil flutter_screenutil flutter 屏幕适配方案&#xff0c;用于调整屏幕和字体大小的flutter插件&#xff0c;让你的UI在不同尺寸的屏幕上都能显示合理的布局! 安装 # add flutter_screenutil flutter_screenutil: ^5.8.4 o…...

MySQL 常用函数

一、数学函数 1、ABS(x) 返回绝对值。 mysql> select abs(-4); --------- | abs(-4) | --------- | 4 | --------- 1 row in set (0.00 sec) 2、PI&#xff08;&#xff09; 返回圆周率&#xff0c;并四舍五入保留五位小数。 mysql> select pi(); ----------…...

动态路由的实现—正则表达式

文章目录 前言一、什么是正则表达式&#xff1f;二、正则表达式在动态路由中的作用三、实现一个简单的路由调度器总结 前言 动态路由有很多种实现方式&#xff0c;支持的规则、性能等有很大的差异。例如开源的路由实现gorouter支持在路由规则中嵌入正则表达式&#xff0c;例如…...

Android实现超出固定行数折叠文字“查看全文“、“收起全文“

先上效果图 分析问题 网上有很多关于这个的代码&#xff0c;实现都过于复杂了&#xff0c;github上甚至还看到一篇文章600多行代码&#xff0c;结果一跑起来全是bug。还是自己写吧&#xff01;&#xff01;&#xff01; 如果我们需要换行的"查看全文"、"收起全…...

Python上楼梯问题:递归解法探究(斐波那契变种)(记忆化递归)

文章目录 上楼梯问题&#xff1a;递归解法探究问题定义解决方案1. 递归2. 记忆化递归关于python memo{}默认参数和字典的语法语法功能版本信息注意事项 结论 上楼梯问题&#xff1a;递归解法探究 在这篇文章中&#xff0c;将对上楼梯问题进行深入探讨。上楼梯问题是一种常见的…...

如何在10分钟内搭建AI与Figma双向通信系统:TalkToFigma MCP完整指南

如何在10分钟内搭建AI与Figma双向通信系统&#xff1a;TalkToFigma MCP完整指南 【免费下载链接】cursor-talk-to-figma-mcp TalkToFigma: MCP integration between AI Agent (Cursor, Claude Code) and Figma, allowing Agentic AI to communicate with Figma for reading des…...

0403开源:第四卷光刻机整机控制与量检测系统(A级 中期集中攻坚)3. 开源纳米级计量检测设备卡点

开源光刻机整机控制与量检测系统&#xff08;A级 中期集中攻坚&#xff09; 3. 开源纳米级计量检测设备卡点&#xff08;全参数开源硬核壁垒拆解喂饭级溯源破局&#xff09; 前置开源声明 本节全程无保留开源光刻量检测底层原理、设备架构、纳米级计量阈值、国内外参数对标、核…...

别再手动改配置了!Spring Boot项目集成Apollo配置中心保姆级教程(含热更新实战)

Spring Boot与Apollo配置中心深度整合&#xff1a;告别重启的配置管理革命 在微服务架构盛行的今天&#xff0c;传统配置文件管理方式正面临前所未有的挑战。每次修改数据库连接池参数需要重启服务&#xff1f;调整线程池大小必须中断业务&#xff1f;这些困扰Java开发者多年的…...

解决企业级日期处理难题:Vue3-DateTime-Picker的现代化架构设计与实战应用

解决企业级日期处理难题&#xff1a;Vue3-DateTime-Picker的现代化架构设计与实战应用 【免费下载链接】vue3-date-time-picker Datepicker component for Vue 3 项目地址: https://gitcode.com/gh_mirrors/vu/vue3-date-time-picker Vue3-DateTime-Picker是一款基于Vue…...

从零到一:RK3588s平台imx415双目相机模组点亮与ISP调优实战

1. 环境准备&#xff1a;从零搭建开发环境 第一次接触RK3588s平台时&#xff0c;最头疼的就是环境搭建。我用的Firefly AIO-3588S-JD4开发板配套资料比较分散&#xff0c;光是找齐所有软件包就花了半天时间。这里分享下我的踩坑经验&#xff1a; 硬件清单必须严格核对&#x…...

如何用DouyinLiveWebFetcher三步实现抖音直播弹幕实时采集?终极免费工具使用指南

如何用DouyinLiveWebFetcher三步实现抖音直播弹幕实时采集&#xff1f;终极免费工具使用指南 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2025最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetche…...

EDR-Telemetry项目实战:使用遥测生成器测试你的安全防护

EDR-Telemetry项目实战&#xff1a;使用遥测生成器测试你的安全防护 【免费下载链接】EDR-Telemetry This project aims to compare and evaluate the telemetry of various EDR products. 项目地址: https://gitcode.com/gh_mirrors/ed/EDR-Telemetry EDR-Telemetry是一…...

Claude与OpenClaw整合指南:AI代码生成与自动化执行实战

1. 项目概述与核心价值最近在开发者社区里&#xff0c;一个名为“Claude-Code-x-OpenClaw-Guide-Zh”的项目引起了我的注意。乍一看这个标题&#xff0c;可能有些朋友会觉得它像是一个普通的工具集合或者文档翻译。但当我深入探究其背后的代码仓库和社区讨论后&#xff0c;我发…...

Linux MySQL服务器SSH多端口配置:解决22端口禁直连,兼顾安全与运维

公司Linux服务器&#xff08;尤其是MySQL数据库服务器&#xff09;出于安全管控&#xff0c;明确禁止直连22端口&#xff0c;要求所有SSH登录必须使用自定义端口&#xff1b;但22端口又不能修改或关闭&#xff0c;需保留给堡垒机、安全审计等核心服务使用。一边是安全策略的硬性…...

5分钟上手Mermaid图表:无需代码的实时在线编辑器终极指南

5分钟上手Mermaid图表&#xff1a;无需代码的实时在线编辑器终极指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edi…...