• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

self.location.href = "{{ url_for('inte6')}}?search=" + v_search + "&keyword=" + v_keyword; 여기서 잘못된 부분이 있나요 혹시??

21.02.16 08:00 작성 조회수 126

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 -

이런 에러가 뜹니다

답변 1

답변을 작성해보세요.

0

URL 에는 특별히 문제되는 부분은 없어보입니다만.. 정확한 문제가 무엇인지 짚어 주시면 더 도움될것 같습니다. ^^;;;