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等配置修改等,都試了各種報錯。
最終決定删了資料庫,重新導入相關表
中文插入正常。