작성
·
174
1
게시판 리스트 구현 부분 공부중인데
function search() {
let v_search = $('#search').val()
let v_keyword = $('#keyword').val()
if( v_search == "" || v_keyword == "") {
return false;
} else {
self.location.href = "{{ url_for('inte6')}}?search=" + v_search + "&keyword=" + v_keyword;
}
}
스크립트 부분 이렇게 구현하고
@app.route('/complain')
def inte6():
# 페이지 값 (값이 없는 경우 기본값 1)
page = request.args.get("page", default=1, type=int)
# 한페이지당 몇개의 게시물을 출력할지
limit = request.args.get("limit", 15, type=int)
search = request.args.get("search", -1, type=int)
keyword = request.args.get("search", type=str)
# 최종적으로 완성된 쿼리를 만들 변수
query = {}
# 검색어 상태를 추가할 리스트 변수
search_list = []
if search == 0:
search_list.append({"title": {"$regex": keyword}})
elif search == 1:
search_list.append({"content": {"$regex": keyword}})
elif search == 2:
search_list.append({"title": {"$regex": keyword}})
search_list.append({"content": {"$regex": keyword}})
elif search == 3:
search_list.append({"name": {"$regex": keyword}})
# 검색 대상이 한개라도 존재할 경우 query 변수에 $or 리스트를 쿼리
if len(search_list) > 0:
query = {"$or": search_list}
board = db.dbgood
datas = board.find({query}).skip((page - 1)*limit).limit(limit)
# 게시물의 총 갯수
tot_count = board.find({query}).count()
# 마지막 페이지 수 구하기
last_page_num = math.ceil(tot_count / limit)
# 페이지 블럭 사이즈
block_size = 5
# 현재 블럭의 위치
block_num = int((page - 1) / block_size)
# 블럭의 시작 위치
block_start = int((block_size * block_num) + 1)
# 블럭의 끝 위치
block_last = math.ceil(block_start + (block_size - 1))
return render_template('complain.html',
datas=datas,
limit=limit,
page=page,
block_start=block_start,
block_last=block_last,
last_page_num=last_page_num,
search=search,
keyword=keyword)
서버는 이렇게 구현 했는데
계속 "GET /%7B%7Burl_for('inte6')%7D%7D?search=0&keyword=1 HTTP/1.1" 404 -
이런 에러가 뜹니다