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 – 权限分配、权限组件与CRM整合

     一、权限分配   需求:为用户分配角色,为角色分配权限,如下图效果: 1、视图代码: from django.shortcuts import render from django.http import JsonResponse from rbac.models import User, Role, Permission def distribute_p…

    Django 2023年4月10日
    00
  • Python Django 实现简单注册功能过程详解

    下面我将详细讲解“Python Django 实现简单注册功能过程”的完整攻略。本攻略分为以下几个部分: 创建 Django 项目和应用 安装、配置和使用 Django 自带的认证系统 自定义认证系统 实现简单注册功能 示例一:使用 Django 自带的认证系统实现注册和登录功能 示例二:自定义认证系统实现注册和登录功能 1. 创建 Django 项目和应用…

    Django 2023年5月16日
    00
  • django中的setting最佳配置小结

    那我就详细讲解一下“Django中的setting最佳配置小结”的完整攻略。 1.什么是Django的settings 首先,我们需要了解一下Django中的settings是什么。settings是Django应用程序的配置文件,其中包含了应用程序的各种设置,例如数据库配置信息、静态文件路径、日志文件路径等等。通过settings文件,我们可以对Djang…

    Django 2023年5月16日
    00
  • Django Form常用功能及代码示例

    下面我将详细讲解“Django Form常用功能及代码示例”的完整攻略,包含两条示例说明。 1. Django Form常用功能 1.1 定义Form Django中的Form是用来处理表单数据的Python类。通过继承Django提供的forms.Form类,并定义相应的字段,我们可以快速创建自己的表单。 示例代码如下: from django impor…

    Django 2023年5月16日
    00
  • django1.9的static文件配置

    django的static配置查了不少文章,都是复制粘贴的,都没搞定,后来没办法,只能去官网查英文文档。 虽然英文不行,但是能看懂基本的配置信息。照着官方的配置,果然成功了。大致配置如下: 修改setting.py,后面加入 STATIC_URL = ‘/static/’上面那句是写死的,让django能调用静态文件,下面这句是配置静态文件的路径,路径可以填…

    Django 2023年4月13日
    00
  • django开发中遇到的问题

    今天在做购物车的时候,在做添加购物车功能时,先要判断当前用户的购物车下有没有当前商品,如果有的话就把商品的数量新增传到后台的数量个。 在当前用户的购物车中存在该商品的情况下,在更新商品数量的时候由于粗心出了问题,在更新完商品数量之后忘记了提交保存,导致商品数量不能更新,找bug找了挺长时间,所以写下来 为了提示一下自己。 1 userID=request.s…

    Django 2023年4月13日
    00
  • 详解Django模版中加载静态文件配置方法

    当我们使用Django进行web开发时,我们常常需要加载静态文件,比如CSS样式、JavaScript脚本、图片等。在Django中,我们通常使用模版来组织和呈现我们的网页,那么如何在Django模版中加载静态文件呢? 下面是Django模版中加载静态文件配置方法的攻略: 第一步:在settings.py文件中设置静态文件路径 在django的setting…

    Django 2023年5月16日
    00
  • Django框架搭建web项目(二)

    1.在路径XXXXX\mydjango\mydjango\mydjango下新建views.py(在浏览器中url请求后所展示的内容设置) from django.http import HttpResponse def hello(request): return HttpResponse(“Hello world ! “) 2.绑定url与视图函数,在路…

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