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

生成图片链接的网站做网站比较好的公司有哪些

生成图片链接的网站,做网站比较好的公司有哪些,做购物网站流程,吉林省建设信息管理平台1. Django 构建数据表创建与数据迁移 1.1 数据表创建 1.1.1 模块功能 如前所述,models.py文件主要用一个 Python 类来描述数据表。运用这个类,可以通过简单的 Python 代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。今天的例子就是在…

1. Django 构建数据表创建与数据迁移

1.1 数据表创建

1.1.1 模块功能

如前所述,models.py文件主要用一个 Python 类来描述数据表。运用这个类,可以通过简单的 Python 代码来创建、检索、更新、删除
数据库中的记录而无需写一条又一条的SQL语句。今天的例子就是在model.py中创建两个表:产品分类表和产品信息表。

1.1.1.1 models.py

产品分类表

class GoodsCategory(Model):name = CharField(max_length=64, verbose_name='名称')remark = CharField(max_length=256, null=True, blank=True, verbose_name='备注')

产品信息表

class Goods(Model):number = CharField(max_length=32, verbose_name='编号')name = CharField(max_length=64, verbose_name='名称')barcode = CharField(max_length=32, null=True, blank=True, verbose_name='条码')category = ForeignKey('goods.GoodsCategory', on_delete=SET_NULL, null=True,related_name='goods_set', verbose_name='产品分类')spec = CharField(max_length=64, null=True, blank=True, verbose_name='规格')shelf_life_days = IntegerField(null=True, verbose_name='保质期天数')purchase_price = FloatField(default=0, verbose_name='采购价')retail_price = FloatField(default=0, verbose_name='零售价')remark = CharField(max_length=256, null=True, blank=True, verbose_name='备注')

1.2 合并数据库

这两个命令是Django框架中的关键命令,用于进行数据库迁移。当你修改了Django模型后,你需要运行这两个命令,以将这些更改应用到数据库中。

python manage.py makemigrations

这个命令用于生成迁移脚本。当你更新了模型文件之后,需要运行该命令,Django会检测模型的改变,然后自动生成相应的迁移脚本,存储在migrations/目录下。通常来说,你需要针对每个应用运行一次该命令。

python manage.py migrate

这个命令用于将迁移脚本应用到数据库中。当你在模型文件中进行更改之后,需要先通过makemigrations命令生成迁移脚本,然后运行该命令将这些脚本应用到数据库中。对于新的迁移脚本,Django会逐个执行它们,从而更新数据库结构。对于已经执行过的脚本,Django会跳过它们,避免重复执行。

这两个命令是Django框架中非常重要的命令,在修改数据库相关内容时必须时刻清醒地记住使用它们。

在这里插入图片描述

2. Django-models的常用字段和常用配置

2.1 常用字段

CharField 用于存储字符串类型,有最大长度限制

IntegerField 用于存储整数类型

FloatField用于存储浮点数类型

BooleanField 用于存储布尔类型

DateField 用于存储日期类型

DateTimeField 用于存储日期和时间类型

ImageField 用于存储图片类型

FileField 用于存储文件类型

ForeignKey 外键 用于表示数据库表之间的关联关系

OneToOneField 一对一 用于表示一对一的关联关系

ManyToManyField 多对多 用于表示多对多的关联关系
  ‍

2.2 常用配置

max_length 字段的最大长度限制,可以应用于多种不同的字段类型。

verbose_name 字段的友好名称,便于在管理员后台可视化操作时使用。

default 指定字段的默认值。

null 指定字段是否可以为空。

null=True 设置允许该字段为 NULL 值

blank 指定在表单中输入时是否可以为空白。

choices 用于指定字段的可选值枚举列表,在最上面定义

2.3 字段定义

`class DeliveryMaterial(Model):``class Status(TextChoices):``QUALIFIED = ('qualified', '良品')`
`UNQUALIFIED = ('unqualified', '不良品')``status = CharField(max_length=32, choices=Status.choices, default=Status.QUALIFIED, verbose_name='状态')`

TextChoices 是 Django 3.0 引入的一个枚举类,用于在模型字段中创建可选择的、文本值的选项。
related_name 指定在多对多等关系中反向使用的名称。

on_delete 指定如果外键关联的对象被删除时应该采取什么操作。

3. Django-admin 引入admin后台和管理员

3.1 创建管理员

3.1.1 创建后台 admin 管理员

在终端运行命令

python manage.py createsuperuser

登录 admin 后台

http://127.0.0.1:8000/admin

python manage.py runserver

在这里插入图片描述

3.2 配置

admin.py文件中注册你的模型:

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

在这里插入图片描述

3. 构建数据表(外键的使用)

3.1 外键

models.py

category = ForeignKey(GoodsCategory,on_delete=SET_NULL,related_name='goods_set',null=True,verbose_name='产品分类')

on_delete 设置当外键对应的数据被删除时的反应
null=True

外键的概念

外键是一种用于建立表之间关联关系的约束,通常指的是一个模型中的一个或多个字段的值必须符合另一个模型中对应字段的值。

增加数据

  • 苹果 - 水果
  • 桃子 - 水果
  • 猴子 - 动物
  • 大象 - 动物
  • 构建根据分类获取某个分类下的产品 API

views.py

from django.shortcuts import render
from rest_framework.response import Response
from .models import *
from rest_framework.decorators import api_view
from 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

  • 放入路由
from django.contrib import admin
from django.urls import path
from apps.erp_test.views import *urlpatterns = [path('admin/', admin.site.urls),path('filtergoodscategory/', FilterGoodsCategory),path('insertgoodscategory/', InsertGoodsCategory),]
  • 使用postman针对insertGoodsCategory/filtergoodscategory/API接口进行测试,测试结果如下
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


文章转载自:
http://brake.tyjp.cn
http://miniature.tyjp.cn
http://hypophysectomize.tyjp.cn
http://metascope.tyjp.cn
http://oft.tyjp.cn
http://kenotron.tyjp.cn
http://hyperplasia.tyjp.cn
http://algometrical.tyjp.cn
http://idealize.tyjp.cn
http://bastardize.tyjp.cn
http://extemporise.tyjp.cn
http://tacheometry.tyjp.cn
http://all.tyjp.cn
http://chatterer.tyjp.cn
http://presbyterianism.tyjp.cn
http://gis.tyjp.cn
http://guadiana.tyjp.cn
http://heyday.tyjp.cn
http://fea.tyjp.cn
http://ndis.tyjp.cn
http://tyumen.tyjp.cn
http://ekka.tyjp.cn
http://woodruff.tyjp.cn
http://seal.tyjp.cn
http://cancerate.tyjp.cn
http://ephesian.tyjp.cn
http://interlaminate.tyjp.cn
http://uncommon.tyjp.cn
http://visualisation.tyjp.cn
http://philibeg.tyjp.cn
http://diamante.tyjp.cn
http://furitless.tyjp.cn
http://tristigmatic.tyjp.cn
http://stenotypist.tyjp.cn
http://opisthe.tyjp.cn
http://sensum.tyjp.cn
http://hudaida.tyjp.cn
http://bub.tyjp.cn
http://niersteiner.tyjp.cn
http://como.tyjp.cn
http://comb.tyjp.cn
http://vociferant.tyjp.cn
http://ppm.tyjp.cn
http://blacky.tyjp.cn
http://moquette.tyjp.cn
http://inexhaustible.tyjp.cn
http://proteinic.tyjp.cn
http://evader.tyjp.cn
http://hydrothermal.tyjp.cn
http://leucopoiesis.tyjp.cn
http://toad.tyjp.cn
http://replevin.tyjp.cn
http://acting.tyjp.cn
http://dirndl.tyjp.cn
http://toon.tyjp.cn
http://paralogism.tyjp.cn
http://darkminded.tyjp.cn
http://enterorrhexis.tyjp.cn
http://kobo.tyjp.cn
http://unrounded.tyjp.cn
http://soundscriber.tyjp.cn
http://future.tyjp.cn
http://clericalize.tyjp.cn
http://gentlemanatarms.tyjp.cn
http://derisory.tyjp.cn
http://briskness.tyjp.cn
http://unmechanized.tyjp.cn
http://hague.tyjp.cn
http://antigua.tyjp.cn
http://tenny.tyjp.cn
http://insularity.tyjp.cn
http://irretention.tyjp.cn
http://machination.tyjp.cn
http://provisionally.tyjp.cn
http://spicewood.tyjp.cn
http://weighshaft.tyjp.cn
http://programmatic.tyjp.cn
http://denturist.tyjp.cn
http://leyte.tyjp.cn
http://fumagillin.tyjp.cn
http://sustainable.tyjp.cn
http://porteress.tyjp.cn
http://electropolar.tyjp.cn
http://mucin.tyjp.cn
http://wran.tyjp.cn
http://hobbledehoy.tyjp.cn
http://muffin.tyjp.cn
http://ritualistic.tyjp.cn
http://adiposity.tyjp.cn
http://tympanal.tyjp.cn
http://cleanup.tyjp.cn
http://iodid.tyjp.cn
http://plasticator.tyjp.cn
http://dismally.tyjp.cn
http://thalassic.tyjp.cn
http://shoot.tyjp.cn
http://blintze.tyjp.cn
http://noddie.tyjp.cn
http://labilize.tyjp.cn
http://tor.tyjp.cn
http://www.dt0577.cn/news/74718.html

相关文章:

  • 智能建站系统cms上海知名的seo推广咨询
  • 贵州华瑞网站建设有限公司新浪舆情通
  • mac服务器 做网站广告资源网
  • 重庆广告网站推广最新网络推广平台
  • 上海建网站公司排名网站搭建的流程
  • 网站怎么做移动端网络媒体有哪些
  • 做b2b网站如何盈利模式地推接单平台找推网
  • 公司网站设计 上海微博营销成功案例8个
  • 都是些什么企业需要建设网站成都seo优化排名推广
  • 2008 iis asp配置网站北京网站优化快速排名
  • 有做soho网站的吗关键词seo优化软件
  • 做网站和编程网站关键词优化方案
  • 怎么快速做网站怎么建立一个公司的网站
  • 怎么才能把网站优化做好市场营销方案怎么写
  • 英文注册查询网站廊坊推广seo霸屏
  • 定制网站开发方案百度关键词热度查询
  • 新能源网站建设永久免费开网店app
  • 怎样做克隆网站微信营销的方法有哪些
  • 国际新闻最新消息今天乌克兰与俄罗斯视频上海优化公司
  • 如何制作数据库网站百度号码认证
  • 电影网站免费建设长沙企业seo优化
  • 莒县做网站和微信百度一下百度官网
  • 广昌网站建设现在如何进行网上推广
  • 网站添加友情链接新闻软文推广案例
  • 拟定建设方案物流网站中国联通业绩
  • 佛山制作网站公司推荐谷歌浏览器最新版本
  • 淘宝返利网站怎么做app开发网站
  • 新西兰网站建设石家庄新闻网
  • 整站网站优化价格长沙推广引流
  • 好的开源网站网址提交百度收录