6.3 Form
기존의 home.html 코드를 변경해준다. ( Jobscrapper 에 필요한 버튼 만들기 )
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Job Scrapper</title>
</head>
<body>
<h1>Job Scrapper</h1>
<h4>What job do you want?</h4>
<form>
<input type="text" name="keyword" placeholder="Write keyword please" />
<button>Search</button>
</form>
</body>
</html>
코드 저장 후 main.py 로 코드 실행
from flask import Flask, render_template
app = Flask("JobScrapper")
@app.route("/")
def home():
return render_template("home.html", name="james", age=20)
@app.route("/hello")
def hello():
return 'hello you!'
app.run("0.0.0.0")
콘솔창:
크롬창을 새로 열고 주소창에 127.0.0.1:5000 을 입력하여 접속한다.
이제 search 칸에 python 을 입력하면 아래와 같이 input 의 name 인 keyword 가 URL 에 보여진다.
이전에 했던 jobscrapper 에서 보았던 형식과 비슷하다.
하지만 python 을 입력한다고 해서 웹페이지의 화면이 바뀌지 않는다.
URL 만 약간 바뀔뿐.
이제 html 의 form action 을 사용해서 변경해본다.
action은 form 이 어디로 가는지를 알려준다.
→ <form action="/search"> 코드 추가 ➤ form 입력 시 /search 로 이동.
< home.html > 아래 코드로 변경
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Job Scrapper</title>
</head>
<body>
<h1>Job Scrapper</h1>
<h4>What job do you want?</h4>
<form action="/search">
<input type="text" name="keyword" placeholder="Write keyword please" />
<button>Search</button>
</form>
</body>
</html>
main.py 다시 실행 후 크롬창에서 127.0.0.1:5000 접속
input 창에 python 입력 후 엔터 ( search )
결과는 Not Found 지만 url 은 /search?keyword=python 이 되었다.
이를 통해 사용자에게 결과를 보여주는 부분을 ( 다른 페이지를 ) 만들 수 있다는 것을 알게되었다.
이제 /search 페이지를 위한 route 를 만들어본다.
@app.route 를 사용해서 사용자가 작성한 keyword 를 ( 예: python )가져온다.
그 전에 templates 폴더에 search.html 파일을 새로 만든다.
< search.html >
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Job Scrapper</title>
</head>
<body>
<h1>Search Results:</h1>
</body>
</html>
이제 /search 페이지를 위한 route 를 만들어본다.
@app.route 를 사용해서 사용자가 작성한 keyword를 ( 예: python )가져온다.
return 을 사용하여 template 의 search.html 파일의 값을 반환한다.
< main.py >
from flask import Flask, render_template
app = Flask("JobScrapper")
@app.route("/")
def home():
return render_template("home.html", name="james", age=20)
@app.route("/search")
def search():
return render_template("search.html")
app.run("0.0.0.0")
search.html 저장 후 main.py 코드를 실행하고, 크롬창을 새로 열고 주소창에 127.0.0.1:5000 입력 후 접속한다.
input 창에 python 입력 하면 아래 페이지로 접속된다.
search.html 에 저장된 Search Results: 문자열이 화면에 뜬다.
python 참고 강의
'Programming > Python 웹 스크래퍼 만들기' 카테고리의 다른 글
Python Flask Arguments (0) | 2023.01.02 |
---|---|
Python Flask 간단 정리 (0) | 2022.12.30 |
Python Flask Render Template (0) | 2022.12.28 |
Python Flask Introduction (0) | 2022.12.27 |
Python webscrapper 완성 (0) | 2022.12.08 |