增加 Django 自带的 admin 管理界面

On 2010 年 8 月 2 日, in WEB开发, by donly

admin 是 Django 提供的一个核心 app,它可以根据项目中的 model 来自动生成管理界面。它功能强大,而且界面美观。可以管理用户权限,对于管理集中,正如它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站一样,主要以发布为主。

下面我们来开始安装 admin app 。

  1. 创建一个新项目:demo
    django-admin.py startproject demo
  2. 修改 settings.py

    配置数据库(MySQL):

    DATABASE_ENGINE = 'mysql'
    DATABASE_NAME = 'django'
    DATABASE_USER = 'root'
    DATABASE_PASSWORD = 'password' # 数据库密码
    DATABASE_HOST = '' # 数据库服务器主机(默认本地)
    DATABASE_PORT = '' # 数据库服务器端口(默认3306)

    增添 admin app:

    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin', # 增加的 admin app
    )

  3. 修改 urls.py

    # Uncomment this for admin:
    (r'^admin/', include('django.contrib.admin.urls')), 去掉默认注释即可
  4. 同步数据库
    manage.py syncdb
    这样将在数据库中创建 admin 相关的表。
    需要注意的是:在你第一次运行 syncdb 时,你很可能被问起是否创建一个 superuser ,如果那时你没有创建 superuser ,你需要运行 djang/contrib/auth/bin/create_superuser.py 来创建一个admin用户,否则你就不能登录到管理界面里去!方法如下:

    manage.py shell
    >>> from django.contrib.auth.create_superuser import createsuperuser
    >>> createsuperuser()
  5. 进入 admin

    启动内置的服务器:
    manage.py runserver
    打开浏览器访问:http://localhost:8000/admin/

    界面如下:

 

One Response to 增加 Django 自带的 admin 管理界面

  1. ca585说道:

    hey,这篇文章内容自己以为十分有意思,叨教博主可以让我转到吗?我会保存原文来由的链接以及你的姓名.

发表评论

电子邮件地址不会被公开。 必填项已用*标注