Django搭建简易博客教程(五)-Admin
admin
2023-07-30 20:42:06
0

整个项目已经放在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\'^
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns(\'\',
    # Examples:
    # url(r\'^
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns(\'\',
    # Examples:
    # url(r\'^
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\'),
)
#39;, \'my_blog.views.home\', name=\'home\'),
    # url(r\'^blog/\', include(\'blog.urls\')),

    url(r\'^admin/\', include(admin.site.urls)),  #可以使用设置好的url进入网站后台
    url(r\'^
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns(\'\',
    # Examples:
    # url(r\'^
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\'),
)
#39;, \'article.views.home\'),
)#39;, \'my_blog.views.home\', name=\'home\'),
    # url(r\'^blog/\', include(\'blog.urls\')),

    url(r\'^admin/\', include(admin.site.urls)),  #可以使用设置好的url进入网站后台
    url(r\'^from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns(\'\',
    # Examples:
    # url(r\'^
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\'),
)
#39;, \'my_blog.views.home\', name=\'home\'),
    # url(r\'^blog/\', include(\'blog.urls\')),

    url(r\'^admin/\', include(admin.site.urls)),  #可以使用设置好的url进入网站后台
    url(r\'^
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\'),
)
#39;, \'article.views.home\'),
)#39;, \'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

第三方
第三方

界面是不是美腻了许多…

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...