Django建教育平台(三)--创建各App及其model

本文档详细介绍了如何使用Django框架创建并管理教育平台的多个应用程序,包括courses、organization和operation。从新建app,规划数据表,编写models,到在settings中注册app,并通过makemigrations和migrate命令生成数据库表,最后整理app结构,确保Django能找到各应用的model。
摘要由CSDN通过智能技术生成

1. 新建courses app

在manage.py命令行输入startapp courses


2. 规划courses的表

需要有一个表记录各个课程名称等信息, 每个课程需要有一个表记录各个章节信息, 每个章节需要有一个表记录各节课时的视频信息, 因此需要设计三个表.


另外, 每个课程需要下载一些辅助资源, 因此, 还需要加辅助资源表.



3. 编写courses的models

from datetime import datetime

from django.db import models


class Course(models.Model):
    name = models.CharField(max_length=50, verbose_name="课程名")
    desc = models.CharField(max_length=300, verbose_name="课程描述")
    detail = models.TextField(verbose_name="课程详情")  # 暂时定义成textfield, 后续会改为支持富文本的类型
    degree = models.CharField(choices=(("cj", "初级"), ("zj", "中级"), ("gj", "高级")), max_length=2)
    learn_times = models.IntegerField(default=0, verbose_name="学习时长(分钟数")
    students = models.IntegerField(default=0, verbose_name="学习人数")
    fav_nums = models.IntegerField(default=0, verbose_name="收藏人数")
    image = models.ImageField(upload_to="courses/%Y/%m", verbose_name="封面图", max_length=100)
    click_nums = models.IntegerField(default=0, verbose_name="点击数")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "课程"
        verbose_name_plural = verbose_name


class Lesson(models.Model):
    course = models.ForeignKey(Course, verbose_name="课程")
    name = models.CharField(max_length=100, verbose_name="章节名")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "章节"
        verbose_n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值