이번 블로그 포스트에서는 Python으로 웹 서버에 검색 기능을 추가하는 방법에 대해 알아보겠습니다. 검색 기능은 웹 사이트나 앱에서 특정 내용을 검색할 수 있는 기능으로, 사용자가 원하는 정보를 쉽게 찾을 수 있도록 도와줍니다.
1. 필요한 라이브러리 설치하기
먼저, 검색 기능을 구현하기 위해 필요한 라이브러리인 Flask와 Flask_SQLAlchemy를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.
pip install flask
pip install flask_sqlalchemy
2. 데이터베이스 설정하기
검색 기능을 사용하기 위해서는 데이터베이스가 필요합니다. 이 예시에서는 SQLite 데이터베이스를 사용하겠습니다. 다음 코드를 사용하여 데이터베이스를 설정합니다.
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
3. 데이터 모델 생성하기
데이터베이스에 저장할 데이터의 모델을 생성해야 합니다. 예를 들어, 사용자가 검색할 수 있는 블로그 게시물을 저장하는 모델을 만들어보겠습니다.
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
content = db.Column(db.Text)
def __repr__(self):
return self.title
4. 검색 기능 구현하기
이제 검색 기능을 구현해보겠습니다. 다음 코드를 사용하여 검색 결과를 반환하는 함수를 작성합니다.
@app.route('/search', methods=['GET'])
def search():
keyword = request.args.get('keyword')
posts = Post.query.filter(Post.title.contains(keyword)).all()
return render_template('search.html', keyword=keyword, posts=posts)
위 코드에서 keyword
는 검색어를 전달하는 URL 매개변수입니다. Post.query.filter
를 사용하여 검색어와 일치하는 게시물을 찾습니다. 그리고 search.html
템플릿에서 검색 결과를 출력합니다.
5. 검색 템플릿 작성하기
마지막으로 검색 결과를 보여줄 HTML 템플릿을 작성해야 합니다. 이 예시에서는 search.html
파일을 생성하고 다음과 같이 작성합니다.
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
{% endfor %}
위 코드에서는 검색 결과의 제목과 내용을 표시합니다.
결론
이제 Python을 사용하여 웹 서버에 검색 기능을 추가하는 방법을 알아보았습니다. 검색 기능은 사용자가 원하는 정보를 빠르게 찾을 수 있도록 도와줍니다. 위 예시를 참고하여 웹 애플리케이션에 검색 기능을 추가해 보세요.