Произошла ошибка при нажатии номера страницы под списком, отображаемым в результате просмотра списка. Возможно, неправильная настройка нумерации страниц? Или это проблема с шаблоном? Я пытался исследовать различные причины, но не смог найти причину, потому что я до сих пор не понимаю должным образом представление класса. Кажется, это не решает эту простую проблему. Я был бы очень признателен, если бы кто-нибудь мог сказать мне причину и решение этого
Возможно, неправильно настраивать get_queryset для отображения результатов поиска для представления списка с установленной опцией разбивки на страницы?
спасибо дайте мне знать
просмотр списка
class go_to_skil_note_search_page(LoginRequiredMixin,ListView):
model = MyShortCut
paginate_by = 10
def get_template_names(self):
return ['wm/myshortcut_list_for_search2.html']
def get_queryset(self):
print("go_to_skil_note_search_page excute check :::::::::::::::::::::::::")
query = self.request.GET.get('q')
print("query ::::::::::::::: ", query)
if(query != None):
print("user list check :::::::::::::::::::::::::")
print("current user :::::::::::::::::::::::::" , self.request.user)
object_list = MyShortCut.objects.filter(Q(author=self.request.user) & (Q(title__contains=query) | Q(filename__contains=query) | Q(content1__contains=query) | Q(content2__contains=query))).order_by('created');
print("result : ", object_list)
return object_list
else:
qs = MyShortCut.objects.filter(Q(author=self.request.user))[:10]
return qs
шаблон
{% extends "layout.html" %}
{% load staticfiles %}
{% load bootstrap4 %}
{%block title %}Search Note{% endblock %}
{%block extra_css %}
{% endblock %}
{%block content4 %}
<br><hr>
<table class="table table-bordered">
<tr>
<td width="">
<br>
<div class="container">
<div class="row">
<div class="col">
<div class="form-check-inline">
<label class="form-check-label">
<input type="checkbox" class="form-check-input" value="">제목
</label>
</div>
<div class="form-check-inline">
<label class="form-check-label">
<input type="checkbox" class="form-check-input" value="">내용
</label>
</div>
<div class="form-check-inline">
<label class="form-check-label">
<input type="checkbox" class="form-check-input" value="">file
</label>
</div>
</div>
<div class="col">
<div class="input-group mb-1">
<input type="text" class="form-control" value="{{request.user.profile.shortcut_user_id}}" id="shortcut_user_id" aria-describedby="basic-addon2">
<div class="input-group-append">
<button class="btn btn-outline-secondary update_shortcut_user_id" id="{{request.user.id}}" type="button">유저 선택</button>
<button class="btn btn-outline-secondary" id="{{request.user.id}}" type="button">유저 검색</button>
</div>
</div>
</div>
</div>
<div class="row">
<br><br>
<div class="col">
<br>
<form class="" action="" method="get">
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="serach word" aria-label="유저 검색" aria-describedby="basic-addon2" id="search_word_for_user" name="q">
<div class="input-group-append">
<!-- search_btn_for_user_list -->
<button class="btn btn-outline-secondary" type="submit">검색</button>
</div>
</div>
</form>
</div>
</div>
</div>
</td>
</tr>
</table>
{% if messages %}
<div class="alert alert-success">
{% for message in messages %}
{{ message.message }}<strong>{{ message.tags }}</strong>
{% endfor %}
</div>
{% endif %}
<!-- <span class="float-right"> {{request.user.profile.shortcut_user_id}} 님의 skill note 입니다. </span> -->
search result:
<table border="1" width="100%">
<tr>
<td>번호</td>
<td>category</td>
<td>title 22</td>
<td>name</td>
</tr>
<tbody>
{% if object_list.exists %}
{% for p in object_list %}
<tr>
<td>
{{ forloop.counter }}
</td>
<td>
<a href="/wm/myshortcut/category/{{p.category}}/">
{{p.category}}
</a>
</td>
<td>
{{p.title}}
<a href="#wm_detail_{{p.id}}" class="badge badge-dark" data-toggle="collapse">상세 보기</a>
{% ifequal p.type.type_name "input" %}
<br />
<input type="text" id="wm_detail_{{p.id}}" class="collapse " value="{{p.content1}}" size="100%" />
{% endifequal %}
{% ifequal p.type.type_name "textarea" %}
<br />
<textarea id="wm_detail_{{p.id}}" class="collapse" cols="100" rows="10">{{p.content2}}</textarea>
{% endifequal %}
{% ifequal p.type.type_name "summer_note" %}
<br />
<div id="wm_detail_{{p.id}}" class="collapse" width="100%">{{p.content2 | safe}}</div>
{% endifequal %}
</td>
<td>
<a href="" onclick="change_user_for_search(this)" id={{p.author}}>
{{p.author}}
</a>
</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="4">
<h4>검색 결과가 존재하지 않습니다.</h4>
</td>
</tr>
{% endif %}
</tbody>
</table>
{% if is_paginated %}
{% bootstrap_pagination page_obj size="small" justify_content="center" %}
{% endif %}
<span class="myshort_list_area"></span>
{% endblock %}
<!-- js area -->
<script type="text/javascript">
{% block extra_js %}
$(function() {
});
$('.update_shortcut_user_id').click(function (e) {
e.preventDefault();
const id = this.id
const user_id = $("#shortcut_user_id").val()
window.history.pushState("", "", '/wm/')
$.ajax({
type: "POST",
url: 'update/shortcut_id_ajax/' + id,
data: {
'user_id': user_id,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function (result) {
alert("result.message : " + result.message)
const original_id = result.original_id
if (original_id != "") {
$("#shortcut_user_id").val(original_id)
}
window.history.pushState("", "", '/wm/myshortcut/')
location.href = "/wm/myshortcut/go_to_skil_note_search_page/"
}
})
})
(function($) {
$.fn.flash_message = function(options) {
options = $.extend({
text: 'Done',
time: 1000,
how: 'before',
class_name: ''
}, options);
return $(this).each(function() {
if( $(this).parent().find('.flash_message').get(0) )
return;
var message = $('<span />', {
'class': 'flash_message ' + options.class_name,
text: options.text
}).hide().fadeIn('fast');
$(this)[options.how](message);
message.delay(options.time).fadeOut('normal', function() {
$(this).remove();
});
});
};
})(jQuery);
{% endblock %}
</script>
ошибка: