如何从0构建一个flask项目,直接上实操!!!

项目结构

首先,创建一个项目目录,结构如下:

复制代码

flask_app/

├── app.py # Flask 应用代码

├── static/ # 存放静态文件(如CSS、JS、图片等)

│ └── style.css # 示例CSS文件

└── templates/ # 存放HTML模板

└── index.html # HTML模板文件

1. 创建 app.py

flask_app 目录下创建 app.py 文件,内容如下:

复制代码
from flask import Flask, render_template, request

app = Flask(__name__)

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

@app.route('/submit', methods=['POST'])
def submit():
    name = request.form.get('name')
    return render_template('index.html', name=name)

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

2. 创建 HTML 模板 index.html

templates 目录下创建 index.html 文件,内容如下:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flask应用</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <form action="/submit" method="post">
        <label for="name">请输入你的名字:</label>
        <input type="text" id="name" name="name" required>
        <button type="submit">提交</button>
    </form>

    {% if name %}
        <h2>你好啊, {{ name }}!</h2>
    {% endif %}
</body>
</html>

3. 创建 CSS 文件 style.css

static 目录下创建 style.css 文件,内容如下:

复制代码
body {
    font-family: Arial, sans-serif;
    margin: 20px;
}

form {
    margin: 20px 0;
}

input[type="text"] {
    padding: 10px;
    margin-right: 10px;
}

button {
    padding: 10px 15px;
}

4. 运行应用

在命令行中,导航到 flask_app 目录并运行以下命令:

python app.py

5. 访问应用

打开浏览器,输入以下地址访问你的 Flask 应用:http://127.0.0.1:3000/

总结

这里展示了一个简单的 Flask 应用,用户可以在表单中输入名字并提交,提交后页面会显示用户的名字。通过这个实例 ,相信你已经对flask有了一点点理解了,继续扩展的知识线吧!

相关推荐
amazinging7 分钟前
北京-4年功能测试2年空窗-报培训班学测开-第四十一天
python·学习·appium
CHENWENFEIc8 分钟前
SpringBoot论坛系统安全测试实战报告
spring boot·后端·程序人生·spring·系统安全·安全测试
amazinging11 分钟前
北京-4年功能测试2年空窗-报培训班学测开-第三十九天
python·学习·appium
m0_7231402326 分钟前
Python训练营-Day42
python
翻滚吧键盘31 分钟前
vue绑定一个返回对象的计算属性
前端·javascript·vue.js
胡耀超38 分钟前
标签体系设计与管理:从理论基础到智能化实践的综合指南
人工智能·python·深度学习·数据挖掘·大模型·用户画像·语义分析
重庆小透明41 分钟前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
秃了也弱了。1 小时前
Chrome谷歌浏览器插件ModHeader,修改请求头,开发神器
前端·chrome
博观而约取1 小时前
Django 数据迁移全解析:makemigrations & migrate 常见错误与解决方案
后端·python·django
乆夨(jiuze)1 小时前
记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
前端·javascript·vue.js