制作一个个人网站,使用flask作为开发框架(选择其他框架也可以),至少有四个栏目,每个栏目至少有四个网页,要有数据提交,要有文件上传,可以有数据库支持,要有cookie ,要有session
时间: 2023-04-12 18:02:01 浏览: 64
好的,制作一个个人网站可以使用 Flask 作为开发框架,可以使用以下代码作为参考:
```python
from flask import Flask, render_template, request, redirect, url_for, session, flash
from werkzeug.utils import secure_filename
import os
app = Flask(__name__)
app.secret_key = 'your_secret_key'
# 设置上传文件的目录和允许的文件类型
UPLOAD_FOLDER = 'uploads'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# 检查上传文件的类型是否合法
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
# 首页
@app.route('/')
def index():
return render_template('index.html')
# 栏目一
@app.route('/column1')
def column1():
return render_template('column1.html')
# 栏目二
@app.route('/column2')
def column2():
return render_template('column2.html')
# 栏目三
@app.route('/column3')
def column3():
return render_template('column3.html')
# 栏目四
@app.route('/column4')
def column4():
return render_template('column4.html')
# 处理数据提交
@app.route('/submit', methods=['POST'])
def submit():
name = request.form['name']
email = request.form['email']
message = request.form['message']
# 处理数据提交的逻辑
flash('提交成功!')
return redirect(url_for('index'))
# 处理文件上传
@app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
# 处理文件上传的逻辑
flash('上传成功!')
else:
flash('上传失败!')
return redirect(url_for('index'))
# 启动应用
if __name__ == '__main__':
app.run()
```
这个网站有四个栏目,每个栏目至少有四个网页,支持数据提交和文件上传,可以使用数据库和 cookie,也可以使用 session 来实现用户认证和授权。