티스토리 뷰

사견/노트

0510 TIL

Mo'Greene 2022. 5. 11. 00:28

오늘의 결과

 

Get방식을 기존 ajax, 자바스크립트 코드가 아닌 jinja2로 이용

 

jinja2 의 장점 :

html코드 안에서 연산작업을 수행

중복된 코드를 줄일 수 있음

 

@app.route('/review/comment', methods=['POST'])
def comment_post():
    place_receive = request.form['place_give']
    comment_receive = request.form['comment_give']

    file = request.files["file_give"]

    extension = file.filename.split('.')[-1]

    today = datetime.now()
    mytime = today.strftime('%Y-%m-%d-%H-%M-%S')

    filename = f'file-{mytime}'

    save_to = f'static/{filename}.{extension}'
    file.save(save_to)

    doc = {
        "place": place_receive,
        "comment": comment_receive,
        "file": f'{filename}.{extension}'
        }

    db.festivareview.insert_one(doc)

    return jsonify({'result': 'success', 'msg': f'"{place_receive}" 저장!'})
function save_review() {
  let place = $('#place').val()
  let comment = $('#comment').val()

    let file = $('#file')[0].files[0]
    let form_data = new FormData()

    form_data.append("file_give", file)
    form_data.append("place_give", place)
    form_data.append("comment_give", comment)

    $.ajax({
        type: "POST",
        url: "/review/comment",
        data: form_data,
        cache: false,
        contentType: false,
        processData: false,
        success: function (response) {
            alert(response["msg"])
            window.location.reload()
        }
    });
}

사진을 서버에 포스팅

 

 

 

 

오늘의 오류

몽고db의 데이터를 Get으로 ajax가 아닌 jinja2로 보내는 과정에서 하루 시간의 절반이상을 잡아먹음

알고보니 

get방식을 return jsonify(###) 등으로 보내고있었음

return render_template(index.html)로 바꾸니 근원문제 해결

 

 

{% for row in rows %}
    {% set gu_name = row.MSRSTE_NM %}
    {% set gu_mise = row.IDEX_MVL %}
    <li>{{ gu_name }}: {{ gu_mise }}</li>
{% endfor %}

 

이 방식을 깊이 유념하자..

'사견 > 노트' 카테고리의 다른 글

핸드폰 번호 가리기  (0) 2022.05.16
0511 회고  (0) 2022.05.11
0510 회고  (0) 2022.05.10
0509 항해 첫날  (0) 2022.05.09
이모지, 부트스트랩  (0) 2022.04.20
Comments