前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何启用和连接Django管理界面

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

原创
作者头像
吴凌云
修改2018-08-03 15:31:35
2.8K0
修改2018-08-03 15:31:35
举报
文章被收录于专栏:云计算教程系列

介绍

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

准备

为了完成本教程,您应该已经搭建了Django开发环境创建了一个Django应用程序并将其连接到MySQL数据库,并创建了Django模型。

第一步 - 启用管理员

首先激活您的Python虚拟环境:

代码语言:txt
复制
$ cd ~/my_blog_app
$ . env/bin/activate

为了开启Django管理权限,我们需要将它添加到INSTALLED_APPS列表settings.py的文件。中

导航到设置文件的目录:

代码语言:txt
复制
(env) sammy@ubuntu:$ cd ~/my_blog_app/blog/blog/

从这里打开settings.py文件。如果没有此文件,请使用像nano这样的文本编辑器添加django.contrib.adminINSTALLED_APPS列表中。

代码语言:txt
复制
(env) sammy@ubuntu:$ nano settings.py

该INSTALLED_APPS文件的部分应如下所示:

settings.py... # Application definition INSTALLED_APPS = [ 'blogsite', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] ...如果进行了更改,请务必保存并关闭文件。

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

代码语言:txt
复制
(env) sammy@ubuntu:$  nano urls.py

该文件将如下所示:

urls.py

代码语言:txt
复制
...
from django.urls import path
from django.contrib import admin
urlpatterns = [
    path('admin/', admin.site.urls),
]

自从Django 2.0发布以来,新的django.url.path()函数改进了使用该url()函数创建url模式的旧方法。该path()函数允许更简单,更易读的URL路由语法。

以下就是说明这一点的示例。上一个url()功能,如下所示:

代码语言:txt
复制
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

现在可以用path()函数编写:

代码语言:txt
复制
path('articles/<int:year>/', views.year_archive),

新句法还支持URL参数的类型强制。以上示例的year关键字将被解释为一个int与一个string相对。

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

第二步 - 验证Admin是否为已安装的应用程序

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

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

代码语言:txt
复制
(env) sammy@ubuntu:$ cd ~/my_blog_app/blog

请记住,只要对models进行任何更改,就要运行migrate命令。

代码语言:txt
复制
(env) sammy@ubuntu:$ python manage.py migrate

在运行命令时,我们应该已经收到以下输出,因为admin我们已经看到导航到文件INSTALLED_APPS各部分时已经添加了模型settings.py。

代码语言:txt
复制
Operations to perform:
  Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
  No migrations to apply.

我们现在可以通过使用服务器的IP地址运行以下命令来启动服务器。

代码语言:txt
复制
(env) sammy@ubuntu:$  python manage.py runserver your-server-ip:8000

然后在您选择的浏览器中导航到管理面板的URL:

代码语言:txt
复制
http://your-server-ip:8000/admin/

你会看到类似的东西。

登陆界面
登陆界面

进入此屏幕显示我们已成功启用管理员应用,虽然我们已启用该应用程序,但目前我们还没有Django管理帐户。我们需要创建管理员帐户才能登录。

第三步 - 创建管理员超级用户帐户

您会注意到弹出登录页面,但我们没有登录凭据。创建这些凭据非常简单。

Django提供了一种生成超级用户帐户的简便方法,我们可以通过运行manage.py文件来启动超级用户创建过程:

代码语言:txt
复制
(env) sammy@ubuntu:$ python manage.py createsuperuser

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

代码语言:txt
复制
Username (leave blank to use 'root'): admin_user
Email address: sammy@example.com

然后在看到Password:提示时输入密码两次。输入时,您不会看到虚拟键盘或密码。每次提示后按Enter键确认密码。

代码语言:txt
复制
Password: 
Password (again):

此时,我们现在拥有一个管理员帐户,其中包含用户名admin_user和密码admin123

让我们登录并查看管理页面上的内容。 如果需要,再次导航到URLhttp://your-server-ip:8000/admin/以进入管理员登录页面。然后使用刚刚创建的用户名和密码登录。

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

管理页面
管理页面

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

第四步 - 为帖子和评论创建URL模式

在上一步中,我们已成功登录管理界面,但您可能已经注意到我们的博客应用仍然无法看到。所以现在我们必须通过添加和注册我们的博客应用程序与相关的模型PostComment来改变它。

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

代码语言:txt
复制
(env) sammy@ubuntu:$  touch ~/my_blog_app/blog/blogsite/urls.py

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

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

代码语言:txt
复制
(env) sammy@ubuntu:$  cd ~/my_blog_app/blog/blogsite/

然后用nano打开文件。

代码语言:txt
复制
(env) sammy@ubuntu:$ nano urls.py

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

urls.py

代码语言:txt
复制
from django.urls import path
from . import views
urlpatterns = [
    path('$/', views.posts, name='posts'),
    path('$/', views.comments, name='comments'),
]

这些是允许我们的应用程序访问PostsComments的views所需的URL模式表达式。我们尚未创建这些views,但稍后将在本系列中介绍。

第五步 - 将博客应用程序连接到管理员

将我们的博客连接到管理员将允许我们查看管理仪表板内部PostsComments内部的链接。正如我们之前看到的那样,仪表板目前只显示链接GroupsUsers

为此,我们需要在blogsite管理文件中注册我们的PostsComments模型。

导航到blogsite目录:

代码语言:txt
复制
(env) sammy@ubuntu:$ cd ~/my_blog_app/blog/blogsite

然后,创建admin.py文件:

代码语言:txt
复制
(env) sammy@ubuntu:$ touch admin.py

完成后,打开文件:

代码语言:txt
复制
(env) sammy@ubuntu:$ nano admin.py

并编辑该文件,使其包含以下代码。

admin.py

代码语言:txt
复制
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment


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

保存并退出该文件。

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

第六步 - 验证博客应用程序是否已添加到管理员

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

现在您已经登录,在运行服务器时应该会看到以下网页。

Django管理界面
Django管理界面

这表明我们现在已将我们的应用程序blogsite到Django管理页面。

完成测试应用程序后,可以按CTRL+ C停止runserver命令。这将返回您的编程环境。

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

代码语言:txt
复制
(env) sammy@ubuntu:$ deactivate

停用编程环境将返回终端命令提示符。

结论

在本教程中,您已成功启用管理界面,创建了管理员登录,并使用管理员注册了Post和Comment模型。Django管理界面是您可以使用您的博客创建帖子和监控评论的方式。关于如何使用Django搭建个人博客详见腾讯云社区的相关教程。


参考文献:《How To Enable and Connect the Django Admin Interface》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第一步 - 启用管理员
  • 第二步 - 验证Admin是否为已安装的应用程序
  • 第三步 - 创建管理员超级用户帐户
  • 第四步 - 为帖子和评论创建URL模式
  • 第五步 - 将博客应用程序连接到管理员
  • 第六步 - 验证博客应用程序是否已添加到管理员
  • 结论
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档