공돌이의 지식 저장소

[문제 기록]flask 서버 노드를 변수처럼 사용하기(미해결) 본문

SERVER/FLASK

[문제 기록]flask 서버 노드를 변수처럼 사용하기(미해결)

도오라에몽 2023. 5. 10. 14:53
@app.route('/<region>', methods=['POST'])
def seoul_post(region):
    doc = getWebData(request.form)

    if region == 'seoul'
        db.seoul_related_table.insert_one(doc)
    elif region == 'jeju'
        db.jeju_related_table.insert_one(doc)
    ........

    return jsonify({'msg':'POST 저장 완료!'})

웹 클라이언트에서 url의 레벨과 사용할 템플릿(페이지 양식)이 같으면서 데이터베이스에서 읽어오는 데이터만 다른 경우 노드명만 변수로 두면 되겠다는 생각을 해서 위 예제처럼 작성을 했다. 하지만 서버에서는 클라이언트에서 서버에 접근한 api가 없다는 내용의 에러를 보여준다. 어떻게 해결해야 할지 모르겠다... 물론 다른 방법으로 수행할 수 있지만 위의 방식으로 하는 방법은 없을까 하는 의문점이 계속 생겨 일단 기록으로 남겨둔다.

참고로 아래 코드처럼 GET 방식은 잘 된다. POST 방식의 경우 문제가 생기는거 같다.

@app.route('/<region>', methods=["GET"])
def showRegion(region):
    # return 'region : %s' %region
    all_restaurants = list(db.restaurants.find({}, {'_id':False}))
    return render_template('restaurant_list.html', region = region)
Comments