【问题标题】:DataTable not working with Bootstrap 4 in DjangoDataTable 在 Django 中无法与 Bootstrap 4 一起使用
【发布时间】:2021-08-27 06:35:06
【问题描述】:

我是 DJango 的新手,但有 Python 方面的经验。我正在创建一个笔记共享站点。想法是用户将上传笔记,管理员将接受它,并且只有接受的笔记是公开的。用户可以看到所有的笔记,包括待处理的和被拒绝的。

问题: 管理员能够看到所有用户。我大量使用引导程序进行设计,因为我试图专注于后端。我正在使用查看用户和查看笔记的引导表(查看笔记效果很好,因为我没有使用该表中的数据表)。真正的问题是查看用户(由管理员),正常的引导表工作正常,但它没有被数据表修改。我没有使用过数据,这是我的第一次。

HTML 代码:

view_users.html

{% extends 'admin_core.html' %} 
{% load static %} 

{% block head %}
<style>
    td {
        text-transform: capitalize;
    }
</style>

<scirpt type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></scirpt>
<scirpt type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></scirpt>
<scirpt type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap4.min.js"></scirpt>

<link rel="stylesheet" href="cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">

<script>
    $(document).ready(function() {
        $('#user-table').DataTable();
    });
</script>
{% endblock head %} 

{% block body %}
<div class="container">
    <h2 class="text-center my-4">Users</h2>

    <div class="table-responsive">
        <table class="table table-bordered md-2" id="user-table">
            <thead class="thead-dark">
                <tr>
                    <th>Sr. No.</th>
                    <th>Full Name</th>
                    <th>Email Address</th>
                    <th>Contact</th>
                    <th>Branch</th>
                    <th>Role</th>
                    <th>Action</th>
                </tr>
            </thead>
            <tbody>
                {% for user in users %}
                <tr>
                    <td>{{ forloop.counter }}</td>
                    <td>
                        {{ user.user.first_name }} {{ user.user.last_name }}
                    </td>
                    <td
                        class="align-middle"
                        style="text-transform: none !important"
                    >
                        {{ user.user.username }}
                    </td>
                    <td>{{ user.contact }}</td>
                    <td>{{ user.branch }}</td>
                    <td>{{ user.role }}</td>
                    <td>
                        <a
                            role="button"
                            class="btn btn-danger btn-sml"
                            href="{% url 'delete_user' user.user.id %}"
                            onclick="return confirm('Are you sure?')"
                            >Delete</a
                        >
                    </td>
                </tr>
                {% endfor %}
            </tbody>
        </table>
    </div>
</div>
{% endblock body %}

由于此页面扩展了 admin_core.html,其代码:

{% load static %}

<!DOCTYPE html>
<html lang="en">

<head>
    <!-- Required ( not really ) meta data tags -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Title -->
    <title>Notes Sharing Site - Admin</title>

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
        integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css"
        integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">

    <!-- Our own CSS -->
    <link rel="stylesheet" href="{% static 'css/style.css' %}" />

    <!-- Head Block ( to extend the page ) -->
    {% block head %}
    {% endblock head %}
</head>

<body style="padding-top: 50px;">
    <!-- Bootstrap Navigation Bar -->
    <nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light">
        <a class="navbar-brand mb-0 h1" href="{% url 'admin_home' %}">
            <img src="{% static 'images/icon.png' %}" width="30" height="30" class="d-inline-block align-top" alt="">
            Notes Sharing Site - Admin
        </a>

        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <!-- <span class="sr-only">(current) -->

            <ul class="navbar-nav mr-auto">
                <li class="nav-item">
                    <a class="nav-link" href="{% url 'home' %}">Public Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{% url 'admin_home' %}">Admin Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="admin/">DJango Admin</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="view-notes" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        View Notes
                    </a>
                    <div class="dropdown-menu" aria-labelledby="view-notes">
                        <a class="dropdown-item" href="#">All</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Pending</a>
                        <a class="dropdown-item" href="#">Accepted</a>
                        <a class="dropdown-item" href="#">Rejected</a>
                    </div>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="{% url 'view_users' %}">View Users</span></a>
                </li>
            </ul>
            <form class="form-inline my-2 my-lg-0">
                <a class="btn btn-danger my-2 my-sm-0" href="{% url 'logout' %}">Logout</a>
            </form>
        </div>
    </nav>

    <!-- Body Block ( to extend the page ) -->
    {% block body %}
    {% endblock body %}


    <!-- Bootstrap JavaScript and JQuery -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>


    <!--
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
    -->
</body>

</html>

抱歉拼写错误(英语不是我的第一语言)和任何菜鸟编码问题。谢谢!

【问题讨论】:

    标签: html jquery django bootstrap-4 datatable


    【解决方案1】:

    您是否遵循静态文件的调试或生产版本?如果是调试版,则需要特殊的 url 路径,如果是生产版,则需要在 settings.py 中有 STATIC_ROOT 路径,该路径指向将使用 collectstatic 命令收集文件的静态目录。

    • 或尝试检查添加这些

      导入 mimetypes mimetypes.add_type("text/css", ".css", True)

    【讨论】:

    • 在哪里添加?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多