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_112233\d+', 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"),) # 应为两个存在的字段
        作者:wangkaiok —— 小菜鸟111
        
        出处:http://www.cnblogs.com/wangkaiok/
        
        本文版权归作者和博客园共有,但未经作者同意禁止转载,转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    
                
            
        
浙公网安备 33010602011771号