Django开发:搭建虚拟环境和项目,构建数据表

任务一:搭建虚拟环境和项目,构建数据表

1. 创建一个Django项目,在指定目录创建一个空文件夹,这里我起名叫My_Django

2. 然后在 Anaconda Prompt 中创建一个虚拟环境,这里我起名叫django

3. 先激活刚创建的虚拟环境

`conda activate django`

然后当前的虚拟环境django中安装 django等必要的包
pip install django
pip install djangorestframework
pip install django-filter
pip install drf_spectacular

4. 切换 Anaconda Prompt 工作目录到My_Django文件夹下,创建项目

(base) C:\Users\Rongyao>conda activate django

(django) C:\Users\Rongyao>cd ..

(django) C:\Users>cd ..

(django) C:\>d:

(django) D:\>cd D:\常用文件\CQU\就业\深度学习\Datawhale\2023-8\Django4.2\My_Django

(django) D:\常用文件\CQU\就业\深度学习\Datawhale\2023-8\Django4.2\My_Django>django-admin startproject My_Django

(django) D:\常用文件\CQU\就业\深度学习\Datawhale\2023-8\Django4.2\My_Django>

在运行django-admin startproject My_Django后,在 My_Django 下面多了一个My_Django文件夹,在多出来的这个My_Django文件夹下面有My_Django和manage.py,说明运行成功!!!
请添加图片描述

5. 创建 app

先切换路径到多出来的My_Django文件夹下面,cd My_Django
然后继续在窗口运行:python manage.py startapp myApp
这时候会多出来一个myApp文件夹,说明运行成功!!!
请添加图片描述

注意:manage.py所在路径不要有中文,因为可能会出现编码错误

6. 设置setting.py文件

在My_Django文件夹下找到 setting.py
请添加图片描述

打开在INSTALLED_APPS中加入自己的app名字,并加入新安装的库:

    'rest_framework',
    'django_filters',
    'drf_spectacular',

请添加图片描述

7. 启动项目

运行项目先执行数据库相关操作,再启动 django 项目
 ```bash
    # 先执行数据库迁移相关操作
    python manage.py makemigrations
    python manage.py migrate
    # 启动 django 项目
    python manage.py runserver
    ```
启动之后,复制如下链接去浏览器打开

请添加图片描述

看到下面这样的界面,就说明成功启动了!!!

请添加图片描述

8. Django-构建数据表示例(合并数据库)

在myApp文件夹下,找到model.py文件
请添加图片描述

打开并添加内容:

## 产品分类表
class GoodsCategory(Model):
    """产品分类"""

    name = CharField(max_length=64,verbose_name='分类名称')
    remark = CharField(max_length=64,null=True,verbose_name='备注',blank=True)


## 产品表
class Goods(Model):
    """产品"""
    
    # 外键
    category = ForeignKey(GoodsCategory, on_delete=SET_NULL,related_name='goods_set',null=True,verbose_name='产品分类',blank=True,)
    # on_delete 


    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='条码')
    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=128, null=True, blank=True, verbose_name='备注')



"""
CharField:用于存储字符串类型,有最大长度限制
IntegerField:用于存储整数类型
FloatField:用于存储浮点数类型
BooleanField:用于存储布尔类型
DateField:用于存储日期类型
DateTimeField:用于存储日期和时间类型
ImageField:用于存储图片类型
FileField:用于存储文件类型
ForeignKey:外键 用于表示数据库表之间的关联关系
OneToOneField:一对一 用于表示一对一的关联关系
ManyToManyField:多对多 用于表示多对多的关联关系


max_length:字段的最大长度限制,可以应用于多种不同的字段类型。
verbose_name:字段的友好名称,便于在管理员后台可视化操作时使用。
default:指定字段的默认值。
null:指定字段是否可以为空。null=True 设置允许该字段为 NULL 值
blank:指定在表单中输入时是否可以为空白。
choices:用于指定字段的可选值枚举列表。
related_name:指定在多对多等关系中反向使用的名称。
on_delete:指定如果外键关联的对象被删除时应该采取什么操作。
"""

然后保存退出,重新运行下面的命令:
python manage.py makemigrations
python manage.py migrate

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

  1. python manage.py makemigrations: 这个命令用于生成迁移脚本。当你更新了模型文件之后,需要运行该命令,Django会检测模型的改变,然后自动生成相应的迁移脚本,存储在migrations/目录下。通常来说,你需要针对每个应用运行一次该命令。
  2. python manage.py migrate: 这个命令用于将迁移脚本应用到数据库中。当你在模型文件中进行更改之后,需要先通过makemigrations命令生成迁移脚本,然后运行该命令将这些脚本应用到数据库中。对于新的迁移脚本,Django会逐个执行它们,从而更新数据库结构。对于已经执行过的脚本,Django会跳过它们,避免重复执行。

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

重新启动 django 项目
python manage.py runserver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值