【django】子应用配置url&FBV&CBV
1、子应用配置url
- 子应用里创建urls.py
- 主应用urls.py包含子应用的路由
2、只构建子应用的models
- python3 manage.py makemigrations xxx # xxx为子应用名称
- python3 manage.py migrate xxx
3、
FBV(function base views) 基于函数的视图,就是在视图里使用函数处理请求
CBV(class base views) 基于类的视图,就是在视图里使用类处理请求
4、BaseModel
- 创建模型时,每张表都有的字段(比如创建时间、更新时间)可提取成一个BaseModel,其他model继承该模块
- 通过继承可复用代码
-
class BaseModel(models.Model): '''公共字段''' is_delete_choice = ( (1, '删除'), (0, '正常') ) is_delete = models.SmallIntegerField(choices=is_delete_choice, default=0, verbose_name='是否被删除') create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True) # auto_now_add的意思,插入数据的时候,自动取当前时间 update_time = models.DateTimeField(verbose_name='修改时间', auto_now=True) # 修改数据的时候,时间会自动变 class Meta: abstract = True # 只是用来继承的,不会创建这个表 class Parameter(BaseModel): name = models.CharField(max_length=200,verbose_name='参数名',unique=True) desc = models.CharField(max_length=200,verbose_name='描述',null=True) value = models.CharField(max_length=200,verbose_name='参数值') def __str__(self): return self.name class Meta: # django admin使用 verbose_name='全局参数表' verbose_name_plural = verbose_name db_table = 'parameter' ordering = ['-id'] # 倒序排列,最后创建的在最上面