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

介绍

如果你遵循了Django开发系列(https://www.digitalocean.com/community/tutorial_series/django-development),你已经启动了Django应用程序,将应用程序连接到MySQL,并在博客Web应用程序中创建了帖子评论数据的数据库模型。

在本教程中,我们将连接并启用 Django admin site,以便您可以管理您的博客网站。

值得注意的是,Django的官方文档指出,虽然这是一个组织内部使用的理想选择,但不建议在自动生成的Django管理界面上构建Web应用程序。

前提条件

本教程是Django Development系列的一部分(https://www.digitalocean.com/community/tutorial_series/django-development),是该系列的延续。

如果你没有跟随这个系列,我们正在做以下假设:

由于本教程主要涉及Django Admin Interface,即使您有稍微不同的设置,您也可能能够跟进。

步骤 1 - 启用 Admin

每当我们开始在Python和Django工作时,我们应该激活我们的Python虚拟环境并进入我们的应用程序的根目录。

1cd ~/my_blog_app
2. env/bin/activate

為了啟用 Django Admin,我們需要確保我們的應用程式是「Settings.py」檔案中的「INSTALLED_APPS」列表的一部分。

导航到设置文件的目录:

1cd ~/my_blog_app/blog/blog/

從這裡,開啟「settings.py」檔案. 如果它已經不在那裡,請將「django.contrib.admin」添加到「INSTALLED_APPS」列表中,使用像 nano 這樣的文本編輯器。

1nano settings.py

该文件的INSTALLED_APPS部分应该与下面的文件相似. 列表中的我们的应用程序是顶部的应用程序,blogsite,但如果您创建了不同的名称的应用程序,请确保该应用程序在该文件中列出,如所示。

 1[label settings.py]
 2...
 3# Application definition
 4INSTALLED_APPS = [
 5    'blogsite',
 6    'django.contrib.admin',
 7    'django.contrib.auth',
 8    'django.contrib.contenttypes',
 9    'django.contrib.sessions',
10    'django.contrib.messages',
11    'django.contrib.staticfiles',
12]
13...

在 nano 中,您可以通过键入CTRLX,然后是Y,然后是ENTER来做到这一点。

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

1nano urls.py

在顶部的评论下,文件应该如下所示。

1[label urls.py]
2
3"""
4from django.contrib import admin
5from django.urls import path
6
7urlpatterns = [
8    path('admin/', admin.site.urls),
9]

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

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

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

接下来,我们应该将模型迁移到数据库,以便它收集新添加的 Admin 模型。

导航到位于manage.py文件的目录。

1cd ~/my_blog_app/blog

请记住执行迁移命令,每次你对模型进行任何更改。

1python manage.py migrate

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

1[secondary_label Output]
2Operations to perform:
3  Apply all migrations: admin, auth, blogsite, contenttypes, sessions
4Running migrations:
5  No migrations to apply.

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

我们现在可以通过运行以下命令启动服务器,您可以用您的IP地址代替0.0.0.0

1python manage.py runserver 0.0.0.0:8000

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

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

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

Django Admin Login Screen

进入这个屏幕让我们知道我们已经成功启用了 admin 应用程序。

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

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

如果你已经设置了一个管理员帐户,并且可以登录你的管理员页面,你可以跳过这个步骤。

打开一个新的终端连接到服务器,或通过按CTRLC来禁用Django应用程序,这样我们就可以在我们的服务器终端的编程环境中工作。

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

1python manage.py createsuperuser

一旦我们这样做,我们将被要求填写我们的用户名、电子邮件和密码的详细信息. 在本教程中,我们将创建一个管理员帐户,使用用户名admin_user,电子邮件[email protected]和密码admin123

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

然后,当你看到密码:提示时,输入你的密码两次,当你输入密码时,你将不会收到密码的输出。

1[secondary_label Output]
2Password:
3Password (again):

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

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

如有需要,請使用「python manage.py runserver 0.0.0.0:8000」再次執行 Django 應用程式,然後再次瀏覽 URL 到「http://your-server-ip:8000/admin/'」,進入管理員登入頁面,然後使用您剛創建的使用者名稱、密碼和密碼登入。

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

Django Admin Panel

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

步骤 4 — 创建帖子和评论的 URL 模式

在之前的步骤中,我们成功登录了管理员界面,但您可能注意到我们的博客应用程序尚未在那里使用,要将我们的管理员界面填充到博客应用程序中,我们需要添加并注册与相关模型帖子评论

要做到这一点,我们将在blogsite目录中创建一个名为urls.py的空格文件,如下:

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

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

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

1cd ~/my_blog_app/blog/blogsite/

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

1nano urls.py

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

1[label urls.py]
2from django.urls import path
3from . import views
4urlpatterns = [
5    path('$/', views.posts, name='posts'),
6    path('$/', views.comments, name='comments'),
7]

这些是允许我们的应用程序访问帖子评论视图所需的URL模式表达式,我们尚未创建这些视图,但将在系列中稍后讨论这一点。

步骤5 - 将博客应用连接到管理员

将我们的博客连接到管理员界面将允许我们在管理员仪表板中看到帖子评论的链接,目前仪表板只显示用户的链接。

要将两者连接在一起,我们需要在博客网站的管理文件中注册我们的帖子评论模型。

导航到博客目录:

1cd ~/my_blog_app/blog/blogsite

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

1nano admin.py

该文件将填充一个导入声明和评论。

1[label admin.py]
2from django.contrib import admin
3
4# Register your models here.

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

1[label admin.py]
2from django.contrib import admin
3from blogsite.models import Post
4from blogsite.models import Comment
5
6admin.site.register(Post)
7admin.site.register(Comment)

当你对文件满意时,保存和退出。

您现在已经在管理面板内注册了帖子评论模型,这将使管理员界面可以选择这些模型,并向登录并查看管理员仪表板的用户显示它们。

步骤6 — 验证博客应用已被添加到管理员中

现在你已经添加了相关的Python代码,运行服务器。打开http://your-server-ip:8000/admin并使用您的身份验证登录到管理员,如果您尚未登录,在本教程中,我们已经使用用户名admin_user和密码admin123登录。

现在你已经登录,你应该得到以下网页. 如果它没有从以前改变,你可能需要更新你的浏览器。

Django Admin Panel with Models Added

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

当你完成测试你的应用程序,你可以按CTRL +C停止运行Django服务器。

当你准备离开你的Python环境时,你可以运行禁用命令:

1deactivate

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

结论

在本教程中,您已经成功启用了 admin 界面,创建了一个 admin 登录,并与 admin 注册了PostComment模型。

Django 管理界面是如何你将能够创建帖子和跟踪评论与你的博客。

在系列中出现,我们将为博客应用程序创建视图

Published At
Categories with 技术
comments powered by Disqus