django admin 配置

1、Admin 后台添加数据,添加完后跳至此页报错,但是数据确实添加上了

解决办法:

 init_command属性改变:本质上是django_admin_log 外键引用到  auth_user 里面 id  

DATABASES = {

    'default': {

        # 'ENGINE': 'django.db.backends.sqlite3',

        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

        'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django django.db.backends.mysql

        'NAME': 'python_sql',

        'USER': 'zjl',

        'PASSWORD': 'zjl',

        'HOST':'127.0.0.1',

        'PORT':'3306',

        'OPTIONS':{

            # 'init_command':"SET sql_mode='STRICT_TRANS_TABLES'",

            'charset':'utf8mb4',

            "init_command": "SET foreign_key_checks = 0;", 

        },

    }

}

 

2、django admin 页面全部中文化( 模型类数据中文化

# setting  可以使admin管理页面中文化

LANGUAGE_CODE = 'zh-Hans'

 

现在要使 模型类数据字段也展示中文,即上图紫框内object改成中文字段,解决办法:

①类中添加 __unicode__方法无效

 

②添加list_display 列表字段的方法,即可成功

# admin.py 

class ArticleAdmin(admin.ModelAdmin):

    list_display = ('id', 'title',"content", 'pub_date', 'update_time',)



admin.site.register(Article, ArticleAdmin)



admin.site.register(BioDrug)

admin.site.register(Entry)

admin.site.register(Author)

admin.site.register(Blog)

admin.site.register(Person)

admin.site.register(Catinfo)

 

3、django admin 页面中文乱码,数据库中文乱码

 

解决办法:

①数据库进行utf8设置

bug  mysql中文乱码

 

4、django admin 在列表显示与字段相关的其它内容

admin.py 文件添加ArticleAdmin类,声明要显示的字段

class ArticleAdmin(admin.ModelAdmin):

    list_display = ('id', 'title',"content", 'pub_date', 'update_time',)


admin.site.register(Article, ArticleAdmin)

 

 

 

5、django admin 列表中文展示

class Person(models.Model):

    name = models.CharField(max_length=30,verbose_name = "姓名")

    age = models.IntegerField()



    def __unicode__(self):

        return self.name



    class Meta:

        verbose_name_plural = '人员管理'    #可以重置表的名字:

添加:verbose_name,同时 __unicode__  改为 __str__

# 在Python3中使用 def __str__(self):

 

  

 

 

6、Django Admin 录入中文错误解决办法

django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE5\\xAE\\x85\\xE5\\xB1\\x85...' for column 'name' at row 1")

解决办法:

百度查询的修改数据库的方法等,django  setting等配置修改等,都试了各种报错。

最终决定删了数据库,重新导入相关表

中文插入正常。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值