• 激活Django自带的管理界面

    激活管理界面的步骤
    服务器君一共花费 9.711 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    对于大部分网站来说,后台是基础设施中非常重要的一部分,它可以让你添加,编辑和删除网站内容。 一些常见的例子: 你可以用这个界面发布博客,后台的网站管理者用它来润色读者提交的内容,你的客户用你给他们建立的界面工具更新新闻并发布在网站上,这些都是使用管理界面的例子。

    如果你开发过网站的后台,你会发现一个问题: 创建它太繁琐了。当你开发对公众的功能时,网页开发是有趣的,但是创建管理界面通常是千篇一律的。 你必须认证用户,显示并管理表格,验证输入的有效性诸如此类。 这很繁琐而且是重复劳动。

    • 还好在 Django,建立一个管理界面,是一个已经解决了的问题。下面来看看 Django 是怎么处理这些枯燥的,重复性的任务吧。只要短短的几行代码,它就会为你做这一切,一点也不会欠缺。

    这一chapter是关于 Django 的自动管理界面。 这个特性是这样起作用的: 它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即工作。

    下面我们马上开始吧。

    django.contrib 包

    Django自动管理工具是django.contrib的一部分。django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,Django框架就是由众多包含附加组件(add-on)的基本代码构成的。 你可以把django.contrib看作是可选的Python标准库或普遍模式的实际实现。 它们与Django捆绑在一起,这样你在开发中就不用“重复发明轮子”了。

    管理工具是本书讲述django.contrib的第一个部分。从技术层面上讲,它被称作django.contrib.admin。django.contrib中其它可用的特性,如用户鉴别系统(django.contrib.auth)、支持匿名会话(django.contrib.sessioins)以及用户评注系统(django.contrib.comments)。

    在成为一个Django专家以前,你将会知道更多django.contrib的特性。 目前,你只需要知道Django自带很多优秀的附加组件,它们都存在于django.contrib包里。

    激活管理界面

    Django管理站点完全是可选择的,因为仅仅某些特殊类型的站点才需要这些功能。 这意味着你需要在你的项目中花费几个步骤去激活它。

    1. settings 文件的修改

    将'django.contrib.admin'加入setting的INSTALLED_APPS配置中 (INSTALLED_APPS中的配置顺序是没有关系的,但是我们喜欢保持一定顺序以方便人来阅读)。

    保证INSTALLED_APPS中包含'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions',Django的管理工具需要这3个包。

    INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.sites',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # Uncomment the next line to enable the admin:
        'django.contrib.admin',
        # Uncomment the next line to enable admin documentation:
        # 'django.contrib.admindocs',
    )
    

    确保MIDDLEWARE_CLASSES 包含'django.middleware.common.CommonMiddleware' 、'django.contrib.sessions.middleware.SessionMiddleware' 和'django.contrib.auth.middleware.AuthenticationMiddleware' 。

    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        # Uncomment the next line for simple clickjacking protection:
        # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
    )
    

    运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。 当你把'django.contrib.auth'加进INSTALLED_APPS后,第一次运行syncdb命令时, 系统会请你创建一个超级用户。 如果你不这么作,你需要运行python manage.py createsuperuser来另外创建一个admin的用户帐号,否则你将不能登入admin (提醒一句: 只有当INSTALLED_APPS包含'django.contrib.auth'时,python manage.py createsuperuser这个命令才可用.)

    将admin访问配置在URLconf(记住,在urls.py中). 默认情况下,命令django-admin.py startproject生成的文件urls.py是将Django admin的路径注释掉的,你所要做的就是取消注释。下面是样例:

    from django.conf.urls.defaults import *
    from django.views.static import *
    from django.conf import settings
    # Uncomment the next two lines to enable the admin:
    from django.contrib import admin
    admin.autodiscover()
    
    urlpatterns = patterns('',
        # Examples:
        #url(r'^$', 'PythonProject.views.home', name='home'),
        #url(r'^PythonProject/', include('PythonProject.foo.urls')),
    
        # Uncomment the admin/doc line below to enable admin documentation:
        url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    
        # Uncomment the next line to enable the admin:
        url(r'^admin/', include(admin.site.urls)),
    )
    
    

    当这一切都配置好后,现在你将发现Django管理工具可以运行了。 启动开发服务器(如前:“python manage.py runserver”),然后在浏览器中访问:http://127.0.0.1:8000/admin/,

    OK,后台就这样激活成功。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [移动开发] Layout_weight属性解析 5 个条目
  2. [数据库技术] 数据库范式篇 5 个条目
  3. [Python程序设计] Django与表单 4 个条目
  4. [运维管理] 路由器与交换机 4 个条目
  5. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  6. [PHP程序设计] Nginx基本操作释疑 7 个条目
  7. [PHP程序设计] fsockopen,curl与file_get_contents 12 个条目
  8. [Python程序设计] Python HTTP服务器 7 个条目
  9. [移动开发] Android抽屉导航NavigationDrawer 5 个条目
  10. [移动开发] Content Provider内容提供者 3 个条目
  11. [移动开发] 简单了解Android Fragment 3 个条目
  12. [Python程序设计] Django Web环境配置 2 个条目
窗口 -- [博客]