Django笔记(管理站点)

 

Django笔记5(管理站点)

 

1.激活管理界面 

(1)选择需要管理的model 

books下创建一个文件admin.py 

 

#其实可以直接在models.py中加入底下这些代码

 

from django.contrib import admin 

from mysite.books.models import Book, Author, Publisher 

admin.site.register(Book) 

admin.site.register(Publisher) 

admin.site.register(Author) 

 

(2) 请确认”django.contrib.sessions”,”django.contrib.auth”,和 “django.contrib.contenttypes” 前面的注释已去掉,因为管理程序需要它们。请同时去掉所有 MIDDLEWARE_CLASSES 设置行中的注释,并清除 TEMPLATE_CONTEXT_PROCESSOR 设置,以便它可以重新使用缺省值。 

(3) 运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。在 INSTALLED_APPS 里有 “django.contrib.auth” 的情况下,当你第一次运行 syncdb 时会被问是不是需要创建超级用户。如果你在那时不做这个事情,你需要运行 python manage.py createsuperuser 来创建有管理权的用户。否则你不可能登录进管理界面。 

 

(4)urls.py设置 

 

from django.conf.urls.defaults import * 

from django.contrib import admin 

admin.autodiscover() 

urlpatterns = patterns('', 

    (r'^admin/(.*)', admin.site.root), 

 

现在你可以访问 Django 给你的URL (http://127.0.0.1:8000/admin/ 在进行的例子中),登录,随便看看。 

 

2. 定制管理界面 

修改admin.py 

 

from django.contrib import admin 

from mysite.books.models import Book, Author, Publisher 

 

class BookAdmin(admin.ModelAdmin): 

    list_display = ('title', 'publisher', 'publication_date') 

    list_filter = ('publisher', 'publication_date') 

    ordering = ('-publication_date',) 

    search_fields = ('title',) 

 

admin.site.register(Book,BookAdmin) 

admin.site.register(Publisher) 

admin.site.register(Author) 

 

3. 定制管理界面的外观 

管理站点的头部区域在模板 admin/base_site.html 里。缺省情况下,这个模板在 Django管理模板目录 django/contrib/admin/templates 里,你可以在Django的安装目录找到它,例如Python的 site-packages 目录或者你安装的其他目录。要自定义这个 base_site 模板,把这个模板拷贝到你的模板目录下的 admin 子目录。例如,假定你的模板目录是 “/home/mytemplates”,拷贝django/contrib/admin/templates/admin /base_site.html到 /home/mytemplates/admin/base_site.html 。不要忘了有 admin 子目录。然后,编辑这个新 admin/base_site.html 文件,替换你自己站点的名称上去。 

备注:每个Django缺省的管理模板都可以重载。要重载一个模板,就象 base_site.html 一样的去做:把它从缺省目录中拷贝到你自己的模板目录中然后修改它。 

 

4.关于中文数据的修正 

(1)插入中文数据出错 

建数据库的时候需将字符集设置为:utf8 utf8_general_ci,不然以后诸多问题 

(2)出现’ascii’ codec can’t encode characters in position 0-2错误 

更改model的str函数 

 

def __str__(self): 

return self.name.encode('utf-8') 

 

或(未验证) 

 

def __unicode__(self): 

return self.name

Django笔记6(表单处理) | Django笔记4

 

 

 

我日

我日

我日

我日

 

 

 1、在你的 models 中加入管理元数据。在你的 INSTALLED_APPS 的设置中加入 "django.contrib.admin" 。确认 "django.contrib.sessions" , "django.contrib.auth", 和 "django.contrib.contenttypes" 前面的注释已去掉,因为管理程序需要它们。请同时去掉所有 MIDDLEWARE_CLASSES 设置行中的注释,并清除 TEMPLATE_CONTEXT_PROCESSOR 设置,以便它可以重新使用缺省值。

 

2、urls.py 中加入模板。

 

urlpatterns = patterns('',(r'^admin/', include('django.contrib.admin.urls')),)

 

3、运行 python manage.py syncdb 。这一步将生成管理界面使用的额外数据库表。

 

我运行时报的错误是:No module named urls。好,那我就从你这个异常开刀!去google一下:django admin No module named urls。哇,收获来了!关键问题就出现在那个urls.py里。老的版本上面的配置是没错的,新的就不行了。变成了这个样子:

 

         from django.conf.urls.defaults import *        

        from django.contrib import admin        

 

        admin.autodiscover()        

 

        urlpatterns = patterns('',        

            (r'^admin/(.*)', admin.site.root),        

        )    

改完之后,大功告成,终于看到了这个清新的管理界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值