Django_Tables2 не загружается по умолчанию Bootstrap Стили - PullRequest
0 голосов
/ 05 марта 2020

Я следую учебному пособию на веб-сайте django -tables2 (https://django-tables2.readthedocs.io/en/latest/pages/tutorial.html) и не могу отобразить свои таблицы в стилях bootstrap. Я следовал точному руководству и добился успеха в получении таблиц в стиле bootstrap, однако при реализации в моем основном проекте он сохраняет базовое форматирование без bootstrap.

Вот мой html, который включает table:

{% extends 'base.html' %}

{% block title %}Home{% endblock %}
{% block extra_head %}
  <link rel="stylesheet" type="text/css" href="/adminEdits/tatic/mainStyles.css" />
  <script type="text/javascript" src="/static/scripts.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
{% endblock %}
{% block content %}
{% if user.is_authenticated %}

{% load render_table from django_tables2 %}

<h1>Edit Drivers</h1>
{% render_table table %}

{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}

И мои tables.py

import django_tables2 as tables
from tickets.models import User

class UsersTable(tables.Table):
    class Meta:
        model = User
        template_name = "django_tables2/bootstrap.html"
        fields = ("user_id",)#"first_name", "last_name", "position", "admin_level", "email", "distribution_company_id")

И мои views.py

from django_tables2 import SingleTableView

from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, Http404
from django.views.generic import ListView
from tickets.models import User
from .tables import UsersTable

# Create your views here.
def index(request):
    return render(request, 'adminEdits/index.html', context)

class UsersListView(SingleTableView):
    model = User
    table_class = UsersTable
    template_name = 'adminEdits/editDrivers.html'

И мой urls.py для приложения:

from django.urls import path
from adminEdits.views import UsersListView
from . import views

urlpatterns = [
    path('', views.index, name='index'),
    path('drivers', UsersListView.as_view()),
]

Если я отредактирую свою страницу html и удаляю расширяющуюся базу html, тогда стиль оформления bootstrap будет работать правильно.

1 Ответ

0 голосов
/ 05 марта 2020

Я смог решить эту проблему, изменив расширение базового файла. html и поместив вместо него базовый код html в отдельный файл, который я мог бы вставить напрямую, используя {% include header. html%} , Это позволило мне поместить

{% load render_table from django_tables2 %}

в верхней части страницы и заставить его выполнять первую операцию, загруженную в html, при этом сохраняя возможность включать другие файлы в.

Чтобы файл базы. html работал правильно при расширении, все, что мне нужно было сделать, это добавить ссылку на таблицу стилей bootstrap. html. С этим все работает без необходимости импортировать другие файлы.

...