본문 바로가기
반응형

내일배움캠프26

[나만의 단어장] 10. 목록페이지 - 사전에 없는 단어일 때 ✅ API에서 단어 뜻 찾아서 detail.html로 결과 보내는 서버 함수 內 r = requests.get(f"", headers={"Authorization": "Token [내토큰]"}) result = r.json() print(result) detail.html에 보내지는 result라는 값을 사전 API에서 찾을 수 없어서 ‘정의를 찾을 수 없다’는 메시지 즉, 다른 형태의 데이터를 주기 때문에 처리하지 못해서 에러 발생 ! 이 때 에러를 보여주지 않고 단어 목록 페이지로 리다이렉팅 해야함 ✅ 값을 잘 받아왔을 때의 상태코드가 200이므로 200이 아닐 때 메인페이지로 리다이렉팅 시키고 ‘단어를 찾을 수 없다’는 메시지 남겨주기 if r.status_code != 200: return red.. 2022. 5. 4.
[나만의 단어장] 9. 목록페이지 - 검색 기능 만들기 단어장에 단어가 있으면 단어장 하이라이트 없으면 사전에 있는 단어이면 상세페이지로 이동 사전에 없는 단어면 ‘없는 단어’ 표시 ✅ 검색을 위해 word 키 값만 모여있는 word_list 만들기 let words = {{ words|tojson }}; //'이 부분은 Html 코드가 아니고 진짜 데이터'라고 말해주기 위해 tojson을 사용 let word_list = []; //딕셔너리에서 단어들만 모으기 위한 list 생성 for (let i = 0; i < words.length; i++) { //words의 길이보다 짧은 동안 반복 word_list.push(words[i]["word"]) //words의 i번째의 word 키 값을 word_list 안에 하나씩 넣음 } tojson 전 tojso.. 2022. 5. 4.
[나만의 단어장] 7. 상세페이지 - 저장 & 삭제 기능 만들기 1. 새 단어 / 기존 단어 구분 ✅ url 예시 localhost:5000/detail/hello?status_give=new ⇒ 💾 버튼 localhost:5000/detail/hello?status_give=old ⇒ 🗑️버튼 status_receive = request.args.get("status_give", "new") # status_give 라는 파라미터를 status_receive 라는 이름으로 받음 # status_give 라는 파라미터를 주지 않을 경우를 대비해, 기본값을 "new"로 주도록 함. return render_template("detail.html", word=keyword, result=result, status=status_receive) # detail.html에 s.. 2022. 5. 4.
[나만의 단어장] 6. 상세페이지 - jinja2로 단어 뜻 가져오기 Jinja2 템플릿 언어 Flask 프레임워크에서 사용하는 템플릿 언어. ‘템플릿’이 되는 Html 문서에 데이터가 들어갈 곳을 표시해놓는 역할을 합니다. 파이참 > setting > Template Languages > Jinja2 설정 ✅ Owlbot API 요청 Flask r = requests.get(f"", headers={"Authorization": "Token [내토큰]"}) result = r.json() print(result) ✅ jinja2를 이용해서 detail.html에 값을 채워 넣어주기 위해 detil.html과 연결되어 있는 detail 함수 안에 사전 API에 요청을 보내고 값을 받아오는 부분이 필요. @app.route('/detail/') def detail(keywo.. 2022. 5. 4.
[나만의 단어장] 5. 상세페이지 - Ajax로 단어 뜻 가져오기 Ajax 기본 골격 $.ajax({ type: "GET", //GET 방식으로 요청 url: "여기에URL을입력", //요청할 url data: {}, //요청하면서 함께 줄 데이터 (GET 요청 시엔 비워둠) success: function(response){ //성공하면, response 값에 서버의 결과 값을 담아서 함수 실행 console.log(response) } }) html에서 단어 뜻 보여주기 ✅ API에서 단어 뜻 찾아서 결과 보내주기 @app.route('/detail/') def detail(keyword): # API에서 단어 뜻 찾아서 결과 보내기 return render_template("detail.html", word=keyword) # 를 detail.html에 word라.. 2022. 5. 4.
[나만의 단어장] 4. 프로젝트 세팅 ✅ AWS 서버와 MongoDB 연결 (app.py) client = MongoClient('15.164.98.36', 27017, username="test", password="test") db = client.dbsparta_plus_week2 로컬에서 개발할 때 AWS 서버에 있는 MongoDB를 바로 연결해서 코딩하면 나중에 배포할 때 DB를 복사해 옮길 필요가 없어 편함. 2022. 5. 4.
반응형