Python打造在线食谱搜索平台

在这个信息爆炸的时代,寻找一份心仪的食谱往往需要花费大量时间。为了解决这一痛点,本文将介绍如何使用Python语言构建一个在线食谱搜索平台,帮助用户快速找到心仪的美食。

Python打造在线食谱搜索平台

项目背景

随着生活水平的提高,人们对美食的追求也越来越高。然而,面对海量的食谱信息,如何高效地找到适合自己的食谱成为了一个难题。基于此,我们决定开发一个在线食谱搜索平台,利用Python的强大功能,为用户提供便捷的食谱搜索服务。

技术选型

1. 后端框架:Flask

Flask是一个轻量级的Web框架,简单易用,非常适合快速开发小型项目。我们将使用Flask来搭建后端服务,处理用户的搜索请求。

2. 数据库:SQLite

SQLite是一个轻量级的数据库,无需复杂的配置,适合小型项目的数据存储。我们将使用SQLite来存储食谱数据。

3. 前端框架:Bootstrap

Bootstrap是一个前端框架,提供了丰富的UI组件,可以帮助我们快速搭建美观的用户界面。

项目结构

recipe_search_platform/
│
├── app.py          # Flask应用入口
├── templates/      # HTML模板文件
│   └── index.html
├── static/         # 静态文件(CSS、JS等)
│   └── style.css
└── database.db     # SQLite数据库文件

实现步骤

1. 安装依赖

首先,我们需要安装Flask和SQLite库。可以使用pip进行安装:

pip install Flask
pip install sqlite3

2. 创建数据库

在项目根目录下创建一个SQLite数据库文件database.db,并初始化食谱表:

import sqlite3

conn = sqlite3.connect('database.db')
c = conn.cursor()
c.execute('''
CREATE TABLE recipes (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    ingredients TEXT NOT NULL,
    instructions TEXT NOT NULL
)
''')
conn.commit()
conn.close()

3. 编写后端代码

在app.py中编写Flask应用的代码:

from flask import Flask, render_template, request
import sqlite3

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/search', methods=['POST'])
def search():
    query = request.form['query']
    conn = sqlite3.connect('database.db')
    c = conn.cursor()
    c.execute("SELECT * FROM recipes WHERE title LIKE ?", ('%' + query + '%',))
    results = c.fetchall()
    conn.close()
    return render_template('index.html', results=results)

if __name__ == '__main__':
    app.run(debug=True)

4. 编写前端代码

在templates/index.html中编写前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>食谱搜索平台</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>食谱搜索平台</h1>
    <form method="post" action="/search">
        <input type="text" name="query" placeholder="输入食谱名称">
        <button type="submit">搜索</button>
    </form>
    {% if results %}
        <h2>搜索结果</h2>
        <ul>
            {% for recipe in results %}
                <li>
                    <h3>{{ recipe[1] }}</h3>
                    <p>食材:{{ recipe[2] }}</p>
                    <p>做法:{{ recipe[3] }}</p>
                </li>
            {% endfor %}
        </ul>
    {% endif %}
</body>
</html>

在static/style.css中添加一些基本的样式:

body {
    font-family: Arial, sans-serif;
    text-align: center;
}

h1 {
    color: #333;
}

form {
    margin: 20px 0;
}

input[type="text"] {
    padding: 10px;
    width: 300px;
}

button {
    padding: 10px 20px;
    background-color: #4CAF50;
    color: white;
    border: none;
    cursor: pointer;
}

button:hover {
    background-color: #45a049;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    margin: 20px 0;
    text-align: left;
}

运行项目

在项目根目录下运行以下命令启动Flask应用:

python app.py

打开浏览器,访问`http

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读