【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']  # 倒序排列,最后创建的在最上面

     

    

 

posted @ 2020-09-06 21:05  tour8  阅读(286)  评论(0编辑  收藏  举报