7章 Admin



Admin这个东西本身就已经存在于我们的项目中,是Django自己创建的。admin是Django自带的一个APP。
# Application definition INSTALLED_APPS = [ 'django.contrib.admin',


Django从1.9版本开始,Django对admin的用户名密码开始有一些安全上的限制。用admin或者数字123456789这些非常简单的密码都是不可以的,或者用老外的名字改一下大小写这些都是不行的。

所以这里设置成我们自己的名字就可以了。一般的名字八个字符应该有吧,没有的话加几个数字就可以了。

因为老外他是不懂中国人的名字的,所以我们就用自己的名字就好了。

urlpatterns = [ url(r'^admin/', admin.site.urls),


# Internationalization # https://docs.djangoproject.com/en/1.11/topics/i18n/ LANGUAGE_CODE = 'en-us'
其实在早一点的版本,1.9以前我们是可以用zh-cn的。但是Django它出于一些目的,在1.9的某个版本中,删除了zh-cn以及zh-tw台湾的繁体字都删掉了。保留了zh-hans以及zh-hant这两个。t是traditional,繁体字;s是简体字,simplified。不用纠结为何删掉了zh-cn和zh-tw,可能是觉得重复吧,因为之前好像也支持zh-hans和zh-hant。
# Internationalization # https://docs.djangoproject.com/en/1.11/topics/i18n/ #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh_Hans' #zh-cn zh-tw 保留了zh-hans zh-hant这两个


# -*- coding: utf-8 -*- #from __future__ import unicode_literals from django.contrib import admin # Register your models here. #把模型类给注册进去 from models import Article admin.site.register(Article)
如果有两个APP:blog1和blog2,那么引入models模块很容易不被认出来
blog2\admin.py
from django.contrib import admin # Register your models here. # Register your models here. #把模型类给注册进去 from . models import Article admin.site.register(Article)
blog\admin.py
# -*- coding: utf-8 -*- #from __future__ import unicode_literals from django.contrib import admin # Register your models here. #把模型类给注册进去 from . models import Article admin.site.register(Article)



Article object是一个类的实例对象,Article是我们在代码里面创建的一个类。这里显示类实例的默认的名称就是这个类对象,是Python的语法。修改模型类打印到屏幕上的默认名称就可以了。


Python3使用_str_(self),Python2.7推荐使用_unicode_(self)。

这个是标准的Python的语法。


blog\models.py
def __str__(self): return self.title
blog2\models.py
def __str__(self): return self.title #def __unicode__(self): #return self.title
浙公网安备 33010602011771号