美文网首页Django学习技术硬通货Django
Django搭建简易博客教程(五)-Admin

Django搭建简易博客教程(五)-Admin

作者: Andrew_liu | 来源:发表于2014-12-30 16:11 被阅读4685次

    整个项目已经放在Github上, 随时更新, 项目地址


    Admin简介


    Django有一个优秀的特性, 内置了Django admin后台管理界面, 方便管理者进行添加和删除网站的内容.

    设置Admin


    新建的项目系统已经为我们设置好了后台管理功能

    可以在my_blog/my_blog/setting.py中查看

    INSTALLED_APPS = (
        'django.contrib.admin',  #默认添加后台管理功能
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'article'
    )
    

    同时也已经添加了进入后天管理的url, 可以在my_blog/my_blog/urls.py中查看

    from django.conf.urls import patterns, include, url
    from django.contrib import admin
    
    urlpatterns = patterns('',
        # Examples:
        # url(r'^$', 'my_blog.views.home', name='home'),
        # url(r'^blog/', include('blog.urls')),
    
        url(r'^admin/', include(admin.site.urls)),  #可以使用设置好的url进入网站后台
        url(r'^$', 'article.views.home'),
    )
    

    创建超级用户


    使用如下命令账号创建超级用户(如果使用了python manage.py syncdb会要求你创建一个超级用户)

    $ python manage.py createsuperuser
    Username (leave blank to use 'andrew_liu'): root
    Email address:
    Password:
    Password (again):
    Superuser created successfully.
    

    输入用户名, 邮箱, 密码就能够创建一个超级用户
    现在可以在浏览器中输入127.0.0.1:8000/admin输入账户和密码进入后台管理, 如下:

    后台后台 进入进入

    但是你会发现并没有数据库信息的增加和删除, 现在我们在my_blog/article/admin.py中增加代码:

    from django.contrib import admin
    from article.models import Article
    
    # Register your models here.
    admin.site.register(Article)
    

    保存后, 再次刷新页面, 127.0.0.1:8000/admin

    成功成功

    对于管理界面的外观的定制还有展示顺序的修改就不详细叙述了, 感兴趣的可以查看官方文档...

    使用第三方插件

    Django现在已经相对成熟, 已经有许多不错的可以使用的第三方插件可以使用, 这些插件各种各样, 现在我们使用一个第三方插件使后台管理界面更加美观, 目前大部分第三方插件可以在Django Packages 中查看,

    尝试使用django-admin-bootstrap美化后台管理界面

    安装

    $ pip install bootstrap-admin
    

    配置

    然后在my_blog/my_blog/setting.py中修改INSTALLED_APPS

    
    INSTALLED_APPS = (
        'bootstrap_admin',  #一定要放在`django.contrib.admin`前面
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'article',
    )
    
    from django.conf import global_settings
    TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
        'django.core.context_processors.request',
    )
    BOOTSTRAP_ADMIN_SIDEBAR_MENU = True
    

    保存后, 再次刷新页面, 127.0.0.1:8000/admin

    第三方第三方

    界面是不是美腻了许多...

    相关文章

      网友评论

      • james_chang:而且这个后台感觉没默认的好看。。。:smiley:
      • james_chang:这里好像出问题,如果我不改后台外观,会不会能混过去?:smile:
      • 59abf154744d:楼主:按照你的配置在my_blog/my_blog/setting.py中修改INSTALLED_APPS后后台打不开了,报错:/opt/ENV3.4/lib/python3.4/site-packages/django/template/base.py:290: RemovedInDjango18Warning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
        compiled_result = compile_func(self, token),请问怎么解决
      • simon000:楼主你好,在运行过程中出现了: 'module' object has no attribute 'TEMPLATE_CONTEXT_PROCESSORS'。目前Django是 1.10.1版本。是否与此有关?求指教
        邢Wai:需要在views.py中写上home函数,然后再urls.py中设置跳转
        views.py
        from django.http import HttpResponse
        from django.shortcuts import render

        # Create your views here.
        def home(request):
        return HttpResponse('小白炸了!')


        urls.py
        from django.conf.urls import include,url
        from django.contrib import admin
        from article.views import home

        urlpatterns = [
        url(r'^admin/', include(admin.site.urls)), # 可以使用设置好的url进入网站后台
        url(r'^$', home),
        ]
      • 915a8ed845ab:反馈一下 ,看了你的文章 使用第三方插件 配置 my_blog/my_blog/setting.py中修改INSTALLED_APPS 文中是Django 1.7 的版本,
        现在大部分用1.8版本 同时Django1.8版本已经修改配置方法
        tangll:@掉包虾 同问
        99774734cf50:@掉包虾 确实报错了 1.8的应该怎么改????

      本文标题:Django搭建简易博客教程(五)-Admin

      本文链接:https://www.haomeiwen.com/subject/aohztttx.html