HTML не воспринимает Bootstrap и не объединяется
Я создаю страницу, которая позволяет пользователю отфильтровать набор данных, нажать кнопку поиска и увидеть обновление результатов ниже. Всякий раз, когда я обновляю свою функцию недели на pick_list.html вместо filter_list.html, я получаю приведенную ниже ошибку. Мой filter_list.html не показывает никаких визуальных эффектов bootstrap или цветов из остальной части моего приложения, просто обычный список. В файле pick_list.html отображается кнопка поиска, но нет полей поиска и ноль данных.
Почему мне так трудно совместить эти два понятия?
views.py:
def week(request):
#orders = Pick.objects.get(id=pk_test)
orders = Pick.objects.all()
#orders = week.order_set.all()
myFilter = PickFilter(request.GET, queryset=orders)
orders = myFilter.qs
context = {'week':week, 'orders':orders, 'myFilter':myFilter}
return render(request, 'app/filter_list.html',context)
pick_list.html:
{% extends 'base.html' %}
{% load cms_tags %}
{% block title %} {{ title }} · {{ block.super }} {% endblock title %}
{% block content %}
<div style="font-size:24px">
{{ title }}
</div>
<div style="font-size:14px; margin-bottom:15px">
Click on the arrows on the right of each contestant and drag them up or down to reorder them based on how far you think they are going to go.
</div>
<form method="get">
{{ myFilter.form }}
<button type="submit">Search</button>
</form>
<ul>
<table class="table table-hover" id="table-ajax" style="background-color: white;">
<thead style="background-color: #de5246; color:white; border-bottom:white">
<tr>
{% comment %} <th></th> {% endcomment %}
<th style="width: 50px; text-align: center;"></th>
<th>{{ object_list|verbose_name:'field:name' }}</th>
<th>{{ object_list|verbose_name:'field:hometown' }}</th>
<th>{{ object_list|verbose_name:'field:occupation' }}</th>
<th>{{ object_list|verbose_name:'field:age' }}</th>
<th>Progress</th>
<th style="width: 160px; text-align: center;">Rank</th>
</tr>
</thead>
<tbody class="order" data-url="{% url 'cms:reorder' model_name %}">
{% include 'app/filter_list.html' %}
</tbody>
</table>
{% endblock %}
filter_list.html:
{% load static %}
{% load cms_tags %}
{% for order in orders %}
<tr id="{{ order.id }}">
<td><img src="http://127.0.0.1:8000/media/files/{{ order.photo }}" width="50"/></td>
<td><a href="" title="Leads" style="text-decoration: none">{{ order.name }}</a></td>
<td>{{ order.hometown }}</td>
<td>{{ order.occupation }}</td>
<td>{{ order.age }}</td>
<td>
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="{{ order.age }}" aria-valuemin="0" aria-valuemax="100" style="width: 75%"></div>
</div>
</td>
<td style="text-align: center;">
<a href="" class="btn btn-sm border-0 reorder" title="Reorder">
<i class="fa fa-sort text-secondary"></i></a>
</td>
</tr>
{% empty %}
<tr class="table-warning nosort">
<td colspan="100%" class="text-center"><small class="text-muted">No {{ model_verbose_name_plural|lower }}</small>
</td>
</tr>
{% endfor %}
<tr class="table-light table-sm nosort">
<td colspan="100%"><small class="text-muted">Total rows: {{ orders.count }}</small></td>
</tr>
error:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/picks/filter/
Django Version: 3.2.6
Python Version: 3.8.7
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'account',
'cms',
'app',
'widget_tweaks',
'django_cleanup',
'bootstrap_datepicker_plus']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Template error:
In template C:\Users\New User\Downloads\django-modal-ajax-crud-main\django-modal-ajax-crud-main\templates\base.html, error at line 0
'str' object has no attribute '_meta'
В файле pick_list.html отображается кнопка поиска, но нет полей поиска и ноль данных.
Это происходит, вероятно, потому, что когда вы включаете filter_list.html
в ваш шаблон pick_list.html
, переменная orders
имеет значение None. Поэтому, когда вы достигаете цикла for в filter_list.html
, он не выполняется, поэтому не возвращает никаких результатов.
Мой filter_list.html не показывает никаких визуальных эффектов bootstrap или цветов из остальной части моего приложения, просто обычный список.
Вероятно, это происходит потому, что в представлении week
вы возвращаете filter_list.html
напрямую, а внутри этого шаблона вы не расширяете base.html
, поэтому стили bootstrap не применяются.
у объекта 'str' нет атрибута '_meta'
Эта ошибка возникает в Django, когда вы пытаетесь выполнить операцию модели над строкой, а не над реальным экземпляром модели. Попробуйте распечатать контекст представления и посмотреть, передаете ли вы модели или строки.
Итак, как же это можно исправить? Попробуйте воспользоваться этим учебником: https://openfolder.sh/django-tutorial-as-you-type-search-with-ajax