我们在使用Django建立我们的小型狗狗网站方面取得了很大的进展。我们已经学会了如何设置Django,并创建了一些基本的网页来显示我们系统中狗狗的信息。目前,与我们网站的数据互动的唯一方式是通过网站前端的网络浏览器。Django有一个预先为你建立的管理后台。为了利用它,你确实需要设置一些东西。在本教程中,我们将看到如何配置管理后台,以及如何设置一个超级用户,以便我们也能在管理面板中查看狗。
创建一个Django超级用户
即使你弄清楚了如何打开Django的管理面板,在你设置一个超级用户之前,你也无法使用它。文档中对如何做到这一点说得很清楚,所以我们现在就来试一下。在终端,如果内置服务器已经在运行,你首先需要停止它。一旦完成,我们将输入以下命令。
djangotutorial $python manage.py createsuperuser
Username (leave blank to use 'myusername'): admin
Email address: admin@example.com
Password:
Password (again):
Error: Blank passwords aren't allowed.
Password:
Password (again):
Superuser created successfully.
现在我们已经创建了一个超级用户来使用管理面板。注意,为了演示,我们尝试使用一个空白的密码,只是为了表明你需要实际提供一个有效的密码,以便命令能够工作。
配置urls.py
现在我们需要设置路由,以允许我们在网页浏览器中输入一个特定的URL,并查看管理界面的登录表单。下面是允许发生这种情况的代码。忽略调试栏的代码,这是一个不同的主题,我们可能会在未来的教程中介绍。
djangotutorial/urls.py
from django.contrib import admin
from django.urls import include, path
from djangodogs import views
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
path('admin/', admin.site.urls),
path('', views.home, name='home'),
path('dogs/<id>/', views.dog_detail, name='dog_detail'),
]
在urls.py文件的顶部是导入语句,它使这个python文件中的代码可以使用管理模块。第8行是一个新的管理员路由条目。这个路由说的是,当你访[问http://localhost:8000/admin,你应该看到一个管理面板的登录表单。

很贴心这就是Python和Django的力量。一个简单的导入语句就可以让你获得大量的功能。现在让我们继续前进,登录并看看周围。一旦我们登录,我们就可以看到一些基本的可用选项。我们看到一个 "欢迎你,管理员 "的欢迎词,一个到我们主网站的链接,一个更改密码的链接,以及一个注销的选项。

通过点击 "用户 "链接,我们能够深入了解并看到系统中的用户。目前,只有一个存在,那就是我们通过上面的shell命令创建的超级用户。

为管理员面板注册一个应用程序
现在,我们还没有看到任何关于我们在[Django初学者]教程中建立的djangodogs应用程序的信息。这是因为你需要注册任何你希望能够在管理后台管理的应用程序。当你使用python manage.py startapp命令在Django中创建一个新的应用程序时,创建的文件之一是admin.py。在这个文件中,我们需要注册我们的Dog模型,这样我们就可以与该Django模型进行交互。
djangodogs/admin.py
from django.contrib import admin
from .models import Dog
admin.site.register(Dog)
有了这段代码,我们现在就可以看到并与我们的Dog模型进行互动了。

查看应用程序模型
回顾一下,到目前为止,我们的数据库里有3只狗。如果我们点击管理面板中的Dogs链接,当然,我们可以看到三只狗的对象。我们有完整的CRUD(创建、读取、更新、删除)能力,可以使用该模型。

编辑一个模型
通过点击数据库中的一条记录,我们会看到一个预先填充的表格,在那里我们可以随意编辑模型。

添加一个模型
让我们使用管理面板将另一只狗添加到我们的系统中!


现在,当我们访问网站的前端时,我们可以看到Max现在确实是我们的狗狗列表的一部分。

通过管理面板删除一条记录
Django的管理面板让我们可以很容易地从数据库中删除一条记录,如果你选择的话。我们并不打算从数据库中删除狗,因为任何狗都不应该被删除,但这个截图显示了你如何删除!

Django管理员设置总结
正如我们在本教程中看到的,为我们的项目添加一个管理界面是很容易的,这样管理用户就可以看到和编辑数据。为了做到这一点,我们必须使用 manage.py 创建一个超级用户。一旦完成,我们为项目配置urls.py,为任何我们希望显示在管理界面的应用程序配置admin.py。