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进阶

    一:用户信息扩展 1.可以采用用户关联的方式进行扩展 2.可以采用继承的方式进行扩展 都需要在admin中进行设定,显示需要显示的内容 Django之HttpRequest和HttpResponse 二:自定义认证方式只不过是自己在view当中写login函数罢了user.check_password()user.has_perm三:权限的设计使用2.1 P…

    2023年4月12日
    00
  • Django常见错误信息汇总及解决方案

    摘要:最近学习Django中,自己随便写写还是碰到了挺多问题,不过貌似都是比较常见,还能顺利解决。现在写下来,也许以后会忘记,也许能帮上碰到同样问题的 小编我前面已经写过一篇关于Django常见错误的文章了,该文比较适合新手阅读,防止学习Django过程中入坑。今天小编我要总结实际Django开发过程中和debug过程中经常碰到的错误信息以及如何解决它们。本…

    Django 2023年4月15日
    00
  • Django数据查询中对字段进行排序 Django数据查询中对字段进行排序

      第一种方法:使用order_by进行排序 Articlelist = Article.objects.filter(**kwargs).order_by(‘nid’) Articlelist = Article.objects.filter(**kwargs).order_by(‘-nid’) #倒序 Articlelist = Article.obje…

    Django 2023年4月13日
    00
  • python3+django2开发一个简单的人员管理系统过程详解

    我来为你详细讲解一下“Python3+Django2开发一个简单的人员管理系统”的完整攻略。 1. 环境搭建 首先,我们需要先安装Python3和Django2。如果你还没有安装过这两个库,可以参照以下步骤进行安装: 安装Python3:可到Python官网下载安装包,然后根据提示安装即可。 安装Django2:在终端或命令行中执行以下命令: $ pip i…

    Django 2023年5月16日
    00
  • Django命名空间app_name和namespace

    在多个app之间,有可能产生同名的url,这个时候避免反转url的时候混淆,可以使用应用命名空间做区分。应用命名空间使用。在应用url中定义 app_name; 一个app,可以创建多个url映射到一个app中,所以就会产生一个问题,在做反转的时候,如果不使用命名空间,就会混淆,为了避免这个问题。我们可以使用实例命名空间。在include函数中添加names…

    Django 2023年4月11日
    00
  • 搭建Django开发环境(Windows、Linux、MacOS)

    Windows系统下的搭建方法 Step 1:安装Python 在Windows系统下,我们可以直接从Python官网 https://www.python.org/downloads/ 下载Python的最新版本,并进行安装。 Step 2:安装Django 打开命令行窗口,运行以下命令来安装Django: pip install django Step …

    Django 2023年3月12日
    00
  • Django 重写用户模型的实现

    下面是 “Django 重写用户模型的实现” 的完整攻略: 1. 为什么要重写用户模型 Django自带的用户模型(User)虽然简单易用,但有时会出现一些局限性,比如你想在用户模型里添加一些自定义字段,这是非常麻烦的。为了解决这种情况,我们可以对Django的用户模型进行重写。 2. 重写用户模型的方法 重写用户模型的方法有两种:继承AbstractBas…

    Django 2023年5月16日
    00
  • nginx+uwsgi+django部署流程

      当我们在用django开发的web项目时,开发测试过程中用到的是django自带的测试服务器,由于其安全及稳定等性能方面的局限性,django官方并不建议将测试服务器用在实际生产。   nginx+uwsgi+django是我们常用的django部署方式。nginx作为最前端的服务器,他负责接收所有的客户端请求,对于请求的静态文件,由nginx服务器自己…

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