zoukankan      html  css  js  c++  java
  • django的常用字段和参数、admin后台管理

    参考链接:

    https://www.cnblogs.com/maple-shaw/articles/9323320.html

    1. 常用字段和参数
    AutoField
    IntegerField
    CharField
    DateField DatetimeField
    BooleanField

    class Person(models.Model):
        nid = models.AutoField(primary_key=True)
        name = models.CharField(max_length=32)
        age = models.IntegerField()   #int类型
        birth = models.DateTimeField(auto_now=True)

    在执行输入迁移的两条命令。

    python manage.py makemigrations

    python manage.py migrate

    在python console中,可以自己添加和修改内容。

    admin管理后台

    1、启动项目

    2、访问url:默认:http://127.0.0.1:8000/admin

    用户名和密码自己创建。

    在终端里执行:python manage.py createsuperuser

    登陆上来,是django自己的管理后台,要想添加自己的。

    输入如上。注册自己的类。

    字段参数

        null                数据库中字段是否可以为空
        db_column           数据库中字段的列名
        default             数据库中字段的默认值
        primary_key         数据库中字段是否为主键
        db_index            数据库中字段是否可以建立索引
        unique              数据库中字段是否可以建立唯一索引
        unique_for_date     数据库中字段【日期】部分是否可以建立唯一索引
        unique_for_month    数据库中字段【月】部分是否可以建立唯一索引
        unique_for_year     数据库中字段【年】部分是否可以建立唯一索引
     
        verbose_name        Admin中显示的字段名称
        blank               Admin中是否允许用户输入为空
        editable            Admin中是否可以编辑
        help_text           Admin中该字段的提示信息
        choices             Admin中显示选择框的内容,用不变动的数据放在内存中从而避免跨表操作
                            如:gf = models.IntegerField(choices=[(0, '何穗'),(1, '大表姐'),],default=1)
     
        error_messages      自定义错误信息(字典类型),从而定制想要显示的错误信息;
                            字典健:null, blank, invalid, invalid_choice, unique, and unique_for_date
                            如:{'null': "不能为空.", 'invalid': '格式错误'}
     
        validators          自定义错误验证(列表类型),从而定制想要的验证规则
                            from django.core.validators import RegexValidator
                            from django.core.validators import EmailValidator,URLValidator,DecimalValidator,
                            MaxLengthValidator,MinLengthValidator,MaxValueValidator,MinValueValidator
                            如:
                                test = models.CharField(
                                    max_length=32,
                                    error_messages={
                                        'c1': '优先错信息1',
                                        'c2': '优先错信息2',
                                        'c3': '优先错信息3',
                                    },
                                    validators=[
                                        RegexValidator(regex='root_d+', message='错误了', code='c1'),
                                        RegexValidator(regex='root_112233d+', message='又错误了', code='c2'),
                                        EmailValidator(message='又错误了', code='c3'), ]
                                )
     
    字段参数
    

      

    默认none都等于false。blank都等于false。

     

    这时就不是必填的了。这个是django控制的。

    刷新变了

     

    发现直接就不显示了。

    choice:

    gender = models.BooleanField(choices=((0,''),(1,'')))

    在执行:

    python manage.py makemigrations

    选中0 --1 ,默认选择男

    python manage.py migrate

     

    增加了这个字段,django后台显示:

     

    在执行2条数据库迁移

    增加了person表,数据库都是正常的。

     

     

    如果说你改的比较累,你可以修改django的字符集为中文。

    在settings里面。

    # LANGUAGE_CODE = 'en-us'修改为
    LANGUAGE_CODE = 'zh-hans'

    from django.db import models
    
    # Create your models here.
    
    class Person(models.Model):
        nid = models.AutoField(primary_key=True)
        name = models.CharField(verbose_name='姓名',max_length=32,null=True,blank=True,db_column='username')
        age = models.IntegerField(editable=False)   #int类型
        birth = models.DateTimeField(auto_now=True)
        gender = models.BooleanField(choices=((0,''),(1,'')))  #男 女是给前端看的。
    
        class Meta:
            # 数据库中生成的表名称 默认 app名称 + 下划线 + 类名
            db_table = "person"
        
            # admin中显示的表名称
            verbose_name = '个人信息'
    
            # verbose_name加s
            verbose_name_plural = '所有用户信息'
        
            # # 联合索引
            # index_together = [
            #     ("pub_date", "deadline"),  # 应为两个存在的字段
            # ]
            #
            # # 联合唯一索引
            # unique_together = (("driver", "restaurant"),)  # 应为两个存在的字段
        
  • 相关阅读:
    APICloud学习笔记之Click事件优化
    APICloud学习笔记之doT模板
    APICloud学习笔记之上拉加载
    APICloud学习笔记之下拉刷新
    5. JavaScript 正则表达式
    4. JavaScript 控制语句
    3. JavaScript 数据类型
    2. 语法
    1.开篇
    C++内存申请容易产生的错误
  • 原文地址:https://www.cnblogs.com/wangkaiok/p/10487041.html
Copyright © 2011-2022 走看看