如何启用和连接 Django 管理界面

介绍

如果您已经学习了Django 开发系列,那么您已经启动了一个 Django 应用程序,将您的应用程序连接到 MySQL,并为博客 Web 应用程序中PostsComments数据创建了数据库模型

在本教程中,我们将连接并启用Django 管理站点,以便您可以管理您的博客网站。Django 管理站点预先构建了一个用户界面,旨在允许您和其他受信任的个人管理网站的内容。

值得注意的是,Django 的官方文档指出,虽然这对于组织内部使用非常理想,但不建议围绕自动生成的 Django 管理界面构建 Web 应用程序。如果您发现您的界面需要更加以流程为中心,或者证明要抽象出数据库表和字段的实现细节,那么您最好为管理端编写自己的视图。

先决条件

本教程是Django 开发系列的一部分,是该系列的延续。

如果您还没有关注本系列,我们将做出以下假设:

由于本教程主要涉及 Django 管理界面,因此即使您的设置有所不同,您也可以继续学习。

第 1 步 – 启用管理员

每当我们开始在 Python 和 Django 中工作时,我们应该激活我们的 Python 虚拟环境并进入我们应用程序的根目录。如果你跟着这个系列,你可以通过输入以下内容来实现这一点。

  • cd ~/my_blog_app
  • . env/bin/activate

为了使Django管理,我们需要确保我们的应用程序列表中的部分INSTALLED_APPSsettings.py的文件。

导航到设置文件的目录:

  • cd ~/my_blog_app/blog/blog/

从这里打开settings.py文件。如果它还没有,请使用像 nano 之类的文本编辑器添加django.contrib.admin到 的列表中INSTALLED_APPS

  • nano settings.py

INSTALLED_APPS文件部分应该类似于下面的文件。我们在列表中的应用程序位于顶部,'blogsite',但如果您创建了一个不同名称的应用程序,请确保该应用程序如演示所示列在此文件中。

设置.py
...
# Application definition
INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
...

如果您进行了更改,请务必保存并关闭文件。在纳米技术,您可以通过键入做到这一点CTRL,并XY然后ENTER

我们现在可以urls.py再次使用 nano 或其他文本编辑器打开文件。

  • nano urls.py

在顶部的注释下,该文件应类似于以下内容。

网址.py

"""
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

如果文件与上面的不同,请将上面的行复制并粘贴到您的urls.py文件中。

现在我们已经确保我们的 Django Web 项目在settings.pyurls.py文件中有适当的代码,我们知道我们的应用程序将可以访问管理模型和管理用户界面。

第 2 步 — 验证 Admin 是已安装的应用程序

我们接下来应该将模型迁移到数据库,以便它选择新添加的管理模型。

导航到文件所在的目录manage.py

  • cd ~/my_blog_app/blog

请记住在对migrate进行任何更改时运行该命令models,就像这样。

  • python manage.py migrate

如果我们没有对上述文件进行任何更改,则在运行migrate命令时应该会收到类似于以下内容的输出

Output
Operations to perform: Apply all migrations: admin, auth, blogsite, contenttypes, sessions Running migrations: No migrations to apply.

否则,输出应该表明 Django 进行了支持我们的应用程序所需的迁移。

我们现在可以通过运行以下命令来启动服务器。您可以替换0.0.0.0为您的 IP 地址。

  • python manage.py runserver 0.0.0.0:8000

然后在您选择的浏览器中导航到管理面板的 URL。请务必输入您的服务器的 IP 地址。

http://your-server-ip:8000/admin/

您将收到一个与此类似的登录屏幕。

Django 管理员登录屏幕

进入此屏幕让我们知道我们已成功启用管理应用程序。

虽然我们已经启用了该应用程序,但我们可能还没有设置 Django 管理帐户。我们可以创建管理员帐户以便在下一步中登录。

第 3 步 – 创建管理员超级用户帐户

如果您已经设置了管理员帐户并且可以登录到您的管理页面,则可以跳过此步骤。

打开一个新终端以连接到服务器,或按CTRL禁用 Django 应用程序C以便我们可以在服务器终端的编程环境中工作。

Django 允许您生成超级用户帐户,我们可以通过运行该manage.py文件来启动超级用户创建过程。

  • python manage.py createsuperuser

完成此操作后,系统将提示我们填写用户名、电子邮件和密码的详细信息。在本教程中,我们将使用用户名admin_user、电子邮件[email protected]和密码创建一个管理员帐户admin123您应该根据自己的喜好填写此信息,并确保使用您会记住的安全密码。

Output
Username (leave blank to use 'root'): admin_user Email address: [email protected]

然后在看到Password:提示时输入两次密码当您输入密码时,您将不会收到密码击键的输出。每次提示后按回车键确认您的密码。

Output
Password: Password (again):

此时,我们现在有一个带有用户名admin_user和密码的管理员帐户admin123

让我们登录并调查我们的管理页面上存在的内容。

如果需要,再次运行 Django 应用程序python manage.py runserver 0.0.0.0:8000,然后再次导航到 URL以访问管理员登录页面。然后使用您刚刚创建的用户名和密码以及密码登录。http://your-server-ip:8000/admin/

登录成功后,您将收到以下页面。

Django 管理面板

接下来,我们需要将我们的博客应用程序连接到管理面板。

第 4 步 – 为帖子和评论创建 URL 模式

在上一步中,我们成功登录了管理界面,但您可能已经注意到我们的博客应用程序在那里尚不可用。要使用博客应用程序填充我们的管理界面,我们需要使用关联的模型PostComment.

为此,我们将urls.pyblogsite目录中创建一个名为,的空文件,如下所示:

  • touch ~/my_blog_app/blog/blogsite/urls.py

在这个文件中,我们将为我们的博客应用程序添加 URL 模式,以便我们可以通过管理界面访问它。

导航到urls.py我们刚刚创建的那个文件的位置

  • cd ~/my_blog_app/blog/blogsite/

例如,然后用 nano 打开文件。

  • nano urls.py

将以下代码行添加到文件中。

网址.py
from django.urls import path
from . import views
urlpatterns = [
    path('$/', views.posts, name='posts'),
    path('$/', views.comments, name='comments'),
]

这些是允许我们的应用程序访问viewsforPostsComments. 我们还没有创建这些views,但将在本系列的后面介绍。

第 5 步 – 将博客应用程序连接到管理员

将我们的博客连接到管理界面将使我们能够看到管理仪表板内部PostsComments内部的链接现在,仪表板目前只显示Groups和 的链接Users

要将两者连接在一起,我们需要在 .admin 文件中注册我们的PostsComments模型blogsite

导航到blogsite目录:

  • cd ~/my_blog_app/blog/blogsite

然后,admin.py在您选择的文本编辑器中打开该文件。

  • nano admin.py

该文件将填充导入语句和注释。

管理文件
from django.contrib import admin

# Register your models here.

您应该编辑该文件,使其包含以下代码以支持我们的应用程序。

管理文件
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


admin.site.register(Post)
admin.site.register(Comment)

当您对文件感到满意时,保存并退出。

您现在已经在管理面板内注册了PostComment模型。这将使管理界面能够选择这些模型并将它们显示给登录并查看管理仪表板的用户。

第 6 步 — 验证博客应用程序已添加到管理员

现在您已经添加了相关的 Python 代码,运行服务器。如果您尚未登录,请使用您的凭据打开并登录到管理员。在本教程中,我们一直使用用户名和密码登录http://your-server-ip:8000/adminadmin_useradmin123

现在您已经登录,您应该会看到以下网页。如果它与之前没有变化,您可能需要刷新浏览器。

添加了模型的 Django 管理面板

这验证了我们现在已将我们的应用程序连接blogsite到 Django 管理仪表板。

完成应用程序测试后,您可以按CTRL+C停止运行 Django 服务器。这将使您返回到您的编程环境。

当您准备好离开 Python 环境时,您可以运行以下deactivate命令:

  • deactivate

停用您的编程环境将使您回到终端命令提示符。

结论

在本教程中,您已经成功启用了管理界面,创建了管理员登录,并向管理员注册了模型PostComment模型。

Django 管理界面是您创建帖子和监控博客评论的方式。

在本系列中,我们将为views博客应用程序创建

觉得文章有用?

点个广告表达一下你的爱意吧 !😁