Django+boostrap 美化admin后台的操作

针对这个主题,我可以提供以下的完整攻略。

步骤一:安装和配置Django

首先,你需要安装 Django 并配置基本设置,这里提供一个示例:

  1. 在终端中通过 pip 安装 Django:pip install django
  2. 创建一个新的 Django 项目:django-admin startproject myproject,其中 myproject 是你的项目名称,可以替换为任何你想要的名称。
  3. 配置 myproject 项目文件夹下的 settings.py 文件:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

步骤二:创建一个超级用户

创建一个超级用户,以便你可以登录到后台管理系统。使用以下命令在终端中创建:

python manage.py createsuperuser

按提示输入你的用户名、电子邮件地址和密码。

步骤三:启动后台管理系统

现在你可以启动 Django 后台管理系统,使用以下命令在终端中启动:

python manage.py runserver

然后打开浏览器,在地址栏中输入 http://127.0.0.1:8000/admin/,你就可以看到 Django 后台管理系统登录界面了。使用刚才创建的超级用户登录。

步骤四:安装 Bootstrap

以下是安装 Bootstrap 的步骤:

  1. 在终端中将 cd 到你的项目目录下,然后创建一个名为 static 的新文件夹:mkdir static
  2. 进入到 static 文件夹,并使用以下命令安装 Bootstrap:npm install bootstrap
  3. myproject 项目文件夹下的 settings.py 文件中添加以下行:
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
  1. 在你的 Django 项目文件夹下创建一个名为 staticfiles 的新文件夹,使用以下命令:
mkdir staticfiles
  1. 在终端中使用以下命令收集所有的静态文件到 staticfiles 文件夹下:
python manage.py collectstatic

步骤五:美化 Django 后台管理系统

接下来,我们将使用 Bootstrap 来美化 Django 后台管理系统。以下是两个示例说明。

示例一:美化登录页面

  1. 创建一个新文件夹,例如 templates,在 myproject 目录下。
  2. templates 文件夹中创建一个名为 admin 的新文件夹。
  3. admin 文件夹中创建一个名为 login.html 的新文件,用来替换 Django 后台管理系统的默认登录页面。
  4. 安装 django-widget-tweaks,该软件包允许你对 Django 表单进行优化。
pip install django-widget-tweaks
  1. myproject 项目文件夹下的 settings.py 文件中添加以下行:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'widget_tweaks',
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
  1. login.html 文件中使用以下代码来美化登录页面:
{% extends "admin/login.html" %}

{% load widget_tweaks %}

{% block extrahead %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %}">
{% endblock %}

{% block form_top %}
<div class="container-fluid">
    <div class="row">
        <div class="col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4">

{% endblock form_top %}

{% block form_bottom %}
        </div>
    </div>
</div>
{% endblock form_bottom %}

示例二:美化后台管理页面

使用以下步骤来美化后台管理页面:

  1. 创建一个新文件夹,例如 static,在 myproject 目录下。在 static 文件夹中创建以下文件夹结构:
.
|__ css/
|   |__ custom-admin.css
|   |__ bootstrap.min.css
|
|__ js/
|   |__ bootstrap.js
|   |__ jquery.min.js
  1. bootstrap.min.cssjquery.min.js 复制到 static/css/static/js/ 文件夹中。
  2. custom-admin.css 中添加你自己的样式。
  3. myproject 项目文件夹下的 settings.py 文件中添加以下行:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
  1. myproject 项目文件夹下的 urls.py 文件中添加以下行:
from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
    # ... your existing URLs ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
  1. myproject 项目文件夹下的 admin.py 文件中使用以下代码导入你的自定义样式和 JavaScript 文件:
from django.contrib import admin
from django.urls import reverse
from django.utils.html import format_html
from django.conf import settings
from django.templatetags.static import static

class MyAdminSite(admin.site.AdminSite):

    def each_context(self, request):
        context = super().each_context(request)
        context['bootstrap_css_url'] = static('css/bootstrap.min.css')
        context['my_styles_url'] = static('css/custom-admin.css')
        context['jquery_url'] = static('js/jquery.min.js')
        context['bootstrap_js_url'] = static('js/bootstrap.js')
        return context

admin_site = MyAdminSite()
  1. 在你的每一个 Django App 的 admin.py 文件中使用 MyAdminSite,而不是 admin.site

结束语

这就是对如何使用 Django 和 Bootstrap 来美化 Django 后台管理系统的完整攻略。希望这些步骤和示例可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django+boostrap 美化admin后台的操作 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • django中iframe请求报错的问题

    view.py与urls.py中的请求方法配置好了之后,在iframe调用,报如下错误: Refused to display ‘http://localhost:8000/welcome’ in a frame because it set ‘X-Frame-Options’ to ‘deny’. 解决办法: 在setting.py中加上: X_FRAME…

    Django 2023年4月11日
    00
  • pycharm社区版安装django并创建一个简单项目的全过程

    下面我将详细讲解“Pycharm社区版安装Django并创建一个简单项目的全过程”: 1. 安装Pycharm社区版 首先,你需要在官网(https://www.jetbrains.com/pycharm/download/)下到Pycharm社区版的安装包,然后运行安装包进行安装。在安装时,你需要选择自己系统对应的版本,我这里安装的是Windows版本。 …

    Django 2023年5月16日
    00
  • 在Django中使用logging模块

    一、Django logging配置 1、在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, “log”) # Logging配置 LOGGING = { ‘version’: 1, # 保留字 ‘disable_existing_loggers’: False, # 是否禁用Dja…

    Django 2023年4月16日
    00
  • 使用Django创建第一个项目

    使用Django创建一个新项目非常简单,只需要按照以下步骤操作即可: 安装Django 在终端中输入以下命令来安装Django: pip install django 创建新项目 在终端中输入以下命令来创建一个新的Django项目: django-admin startproject mysite 这会在当前目录下创建一个名为“mysite”的新目录,其中包…

    Django 2023年3月12日
    00
  • python–Django(后台管理模块)

    一、准备工作   1.创建应用 python manage.py startapp test   2.定义模型类     (1)打开刚创建的app目录test,打开models.py文件     (2)代码如下 from django.db import models class classes(models.Model): name = models.Ch…

    Django 2023年4月11日
    00
  • Django+Vue打造购物网站(十)

    首页、商品数量、缓存和限速功能开发 将环境切换为本地,vue也切换为本地 轮播图 goods/serializers.py class BannerSerializer(serializers.ModelSerializer): ”’ 轮播图 ”’ class Meta: model = Banner fields = “__all__” goods/v…

    Django 2023年4月9日
    00
  • Django 内置权限扩展案例详解

    这里是针对“Django 内置权限扩展案例详解”的完整攻略,包含两个示例说明的详细讲解。 1. 示例一 1.1 案例描述 假设我们要实现一个博客系统,需要实现以下功能: 所有用户都可以浏览博客列表和单篇博客。 未登录用户不能对博客进行任何操作(包括新建、修改、删除和点赞)。 登录用户可以进行以下操作: 创建自己的博客文章。 修改自己创建的博客文章。 删除自己…

    Django 2023年5月16日
    00
  • Django for标签详解

    Django的for标签是一种方便的循环机制,它允许我们在模板中迭代指定的可迭代对象,例如Python中的列表、元组和字典。在循环过程中,我们可以使用for标签定义计数器,以便在模板中进行操作。 下面我们将详细介绍Django for标签的用法,并提供示例代码。 for标签的语法格式如下: {% for item in iterable %} … # 循…

    Django 2023年3月12日
    00
合作推广
合作推广
分享本页
返回顶部