py_Django的管理界面

2023-05-11,

激活管理界面(django.contrib.admin

django.contrib中其它可用的特性,如用户鉴别系统(django.contrib.auth)、支持匿名会话(django.contrib.sessioins)以及用户评注系统(django.contrib.comments)。

1、setting配置

INSTALLED_APPS                # 自行添加
'django.contrib.admin'

INSTALLED_APPS                # 确保存在  Django的管理工具需要这3个包
'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions'
MIDDLEWARE_CLASSES 
'django.middleware.common.CommonMiddleware'
'django.contrib.sessions.middleware.SessionMiddleware'
'django.contrib.auth.middleware.AuthenticationMiddleware' 。

2、模型安装

这是1.9版本的命令

python manage.py makemigrations books    表示保存更改到一个migration中,这都是文件
$ python manage.py sqlmigrate books 0001   表示执行一个migrations ,并返回他们的SQL
                                            -- App_01/migrations/0001_initial.py
$ python manage.py migrate             执行变更
$ python manage.py shell                可进入配置数据库--
$ python manage.py createsuperuser        创建一个超级用户

这时1.9版本以前的命令

python manage.py validate                            检查你的模型的语法和逻辑
python manage.py sqlall books                        生成 CREATE TABLE 语句
python manage.py syncdb                              提交SQL语句至数据库
python manage.py dbshell                             可进入数据库交互(sql语句)
python manage.py shell                               带环境的python交互
        from books.models import Publisher           可在此对数据库操作
        p1 = Publisher(name='Apress', address='2855 Telegrap....................
        p1.save()                    sql 会执行一条INSERT 语句


3、将admin添加 URLconf

1.9版本

from django.conf.urls import url
from django.contrib import admin
from  books import views

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

1.9以前的

# Include these import statements...
from django.contrib import admin
admin.autodiscover()

# And include this URLpattern...
urlpatterns = patterns('',
    # ...
    (r'^admin/', include(admin.site.urls)),
    # ...
)


4、更改admin管理界面语言

 MIDDLEWARE_CLASSES                # 更改django的语言   setting.py
'django.contrib.sessions.middleware.SessionMiddleware'.
'django.middleware.locale.LocaleMiddleware'

5、注册模型

将模型中定义的数据类型,注册到 admin.py中,就可以通过admin管理界面操作

from django.contrib import admin
from mysite.books.models import Publisher, Author, Book

admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)




设置可选字段

为了指定email字段为可选,你只要编辑Book模块(它在mysite/books/models.py文件里),在email字段上加上blank=True。

(默认blank=False),但有些数据指空(字符串)会错误如:日期型、时间型和数字型字段,那么只能用NULL指空

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField(**blank=True, null=True** )

自定义字段标签

class Author(models.Model):
# 指定verbose_name将Author.email的标签改为e-mail
    email = models.EmailField(blank=True, **verbose_name='e-mail'** )

《py_Django的管理界面.doc》

下载本文的Word格式文档,以方便收藏与打印。