# GET을 해놨더니 POST가 문제다.
어제 한참을 헤매다가 아침에 일어나서 다시 콘솔창을 봤더니 또 알 수 없는
500에러인가가 계속 나온다. 앗 그럼 혹시 파이참에 오류가 뜨지 않을까?
하고 가보니 데이터를 보내주는 html 파일에서 ajax key에러가 떴다고한다.
werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'url_give'
그래서 살펴봤더니 input 태그들에 id값이 안 매겨져있었다.
이걸 못 볼정도면 어제는 정말로 피곤했던듯.
# POST 관련해서 역시
@app.route('/posting')
def posting_post():
return render_template('posting.html')
이 코드를 먼저 넣어주고
@app.route('/posting/posts', methods=['POST'])
def posting():
url_receive = request.form['url_give']
star_receive = request.form['star_give']
comment_receive = request.form['comment_give']
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(url_receive, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
title = soup.select_one('meta[property="og:title"]')['content']
image = soup.select_one('meta[property="og:image"]')['content']
desc = soup.select_one('meta[property="og:description"]')['content']
doc = {
"comment": comment_receive,
"star": star_receive,
"title":title,
"image":image,
"desc":desc
}
db.moviepost.insert_one(doc)
return jsonify({'msg':'등록 완료!'})
/posting/post 처럼 앞에껀 html이 들어가고 뒤에껀 API? 가 들어갈 자리? 처럼 만들어줬다.
아직 잘은 모르겠어서 이 개념은 나중에 더 알아봐야겠다.
#진자 문법에 대해서 알아보기 아주 좋은 사이트를 발견했다.
https://velog.io/@passion10377/jinja2%EB%A1%9C-%EB%A0%8C%EB%8D%94%EB%A7%81-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
#상세페이지 구현에는 쿼리스트링과 패스베리어블 이란 것을 쓴다고한다.
정말 태어나서 처음 들어보는 단어들이라 연구가 필요할 것 같다..
'TIL' 카테고리의 다른 글
220514 TIL (0) | 2022.05.15 |
---|---|
220513 TIL (0) | 2022.05.15 |
220512 TIL (0) | 2022.05.15 |
220510 TIL (0) | 2022.05.15 |
220509 TIL (0) | 2022.05.15 |