知了课堂-设置个人信息(1)

本文介绍了使用Flask框架创建一个简单的web应用,包括用户资料创建、修改名称和查看用户详情的功能,涉及前后端交互、数据库操作和表单验证等技术。
摘要由CSDN通过智能技术生成

 前言

知了课堂-flask课程(学习flask):

01-【前奏】课程介绍_哔哩哔哩_bilibili

flask实战(问答平台)-CSDN博客
Flask是轻量级的python web开发框架。有利于我们了解web开发,熟练使用数据库。

一:编写前端代码

录入信息页面

user_build.html

​
{% extends 'base.html' %}

{% block title %}用户资料创建{% endblock %}

{% block head %}
<link rel="stylesheet" href="{{ url_for('static',filename='css/detail.css') }}">
{% endblock %}
{% block body %}
       <div class="row" style="margin-top: 20px;">
            <div class="col"></div>
            <div class="col-10">
                <h1 style="text-align: center;">修改资料</h1>
                <form action="#" method="post">
                    <h2>个人简介</h2>
                    <div class="form-group">
                        <textarea name="content" class="form-control" rows="10" placeholder="请输入内容"></textarea>
                    </div>
                    <div class="form-group" style="text-align: right;">
                        <button class="btn btn-primary">提交</button>
                    </div>
                </form>
            </div>
            <div class="col"></div>
        </div>
{% endblock %}

​
{% extends 'base.html' %}

{% block title %}知了传课-修改名称{% endblock %}

{% block head %}-{% endblock %}

{% block body %}
<div class="row" style="margin-top: 20px;">
            <div class="col"></div>
            <div class="col-10">
                <h1 style="text-align: center;">修改用户名称</h1>
                <form action="#" method="post">
                    <div class="form-group">
                        <input type="text" name="username" class="form-control" placeholder="请输入昵称">
                    </div>
                    <div class="form-group" style="text-align: right;">
                        <button class="btn btn-primary">提交</button>
                    </div>
                </form>
            </div>
            <div class="col"></div>
        </div>
{% endblock %}

查看页面

user_check.html

​
{% extends 'base.html' %}

{% block title %}用户资料{% endblock %}

{% block head %}
<link rel="stylesheet" href="{{ url_for('static',filename='css/detail.css') }}">
{% endblock %}
{% block body %}
        <div class="row" style="margin-top: 20px;">
            <div class="col"></div>
            <div class="col-10" style="background-color: #fff;padding: 20px;">
                <h3 class="page-title">-</h3>
            用户id:
                <br>
                <br>
            创建时间:
                <br>
                <br>
            头像:<img class="avatar" src="{{ url_for('static',filename='images/avatar.jpg') }}" alt="" height="100">
                <br>
                <br>
            个人简介:
                <br>
                <br>
                发布的问题:
                <br>
                <br>
            发布的答案:
                <br>
                <hr>
            </div>
            <div class="col"></div>
        </div>
{% endblock %}

​

 二:创建一个蓝图

在app.py中

from blueprints.user import bp as user_bp


app.register_blueprint(user_bp)

在bluesprints文件夹中创建users.py

from flask import Blueprint, render_template

bp = Blueprint('user', __name__, url_prefix='/user')


@bp.route('/register')
def user_register():
    return render_template('user_build.html')

@bp.route('/look')
def user_look():
    return render_template('user_check.html')

 三:录入信息页面完善

创建表格

在models.py中

class DetailModel(db.Model):
    __tablename__ = 'detail'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)

    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

不要忘记更新数据库(终端)

python -m flask db migrate
python -m flask db upgrade

把表格的数据提交到数据库

首先,要限制表单格式

在forms.py中

class DetailForm(wtforms.Form):
    content = wtforms.StringField(validators=[length(min=3, max=100,message='标题格式错误')])

class UpdateForm(wtforms.Form):
    username = wtforms.StringField(validators=[length(min=3, max=20, message='用户名格式错误!')])

在users.py 中引用并修改

from flask import Blueprint, render_template,request,redirect,url_for,g
from decorators import login_required
from exts import db
from .forms import DetailForm
from models import DetailModel

@bp.route('/register', methods=['GET', 'POST'])
@login_required
def user_register():
    if request.method == 'GET':
        return render_template('user_build.html')
    else:
        form = DetailForm(request.form)
        if form.validate():
            content = form.content.data
            detail = DetailModel(content=content,author_id=g.user.id)
            db.session.add(detail)
            db.session.commit()
            return redirect('/')
        else:
            print(form.errors)
            return redirect(url_for('user.user_register'))

def update():
    form = UpdateForm(request.form)
    if form.validate():
        UserModel.query.filter(UserModel.id == g.user.id).update({'username':form.username.data})
        db.session.commit()
        return redirect('/')
    else:
        print(form.errors)
        return render_template('update_username.html')

页面为

 提交后为

课堂是一个在线教育平台,提供了丰富多样的课程内容。其中,flask web是其中一门非常受欢迎的课程。 Flask是一个基于Python语言开发的轻量级Web应用框架。它简洁易用,但功能强大,因此在Web开发中被广泛应用。Flask Web课程旨在教授学员如何使用Flask框架构建自己的Web应用程序。 在Flask Web课程中,学员将学习到如何搭建一个完整的Web应用程序。首先,课程会介绍Flask框架的基本概念和使用方法,学员将了解如何创建Flask应用和处理路由。接着,课程会涵盖数据库的使用,学员将学会如何与数据库进行交互,以存储和检索数据。 此外,Flask Web课程还会教授学员如何处理表单数据和用户认证。表单是Web应用中常见的用户输入形式,学员将学习如何处理表单数据,并对用户输入进行验证和处理。同时,课程还会介绍用户认证和授权的方法,以确保只有授权用户可以访问特定的页面或功能。 在课程的实践部分,学员将有机会建立自己的Web应用程序。通过完成一系列的编程任务和项目,学员将应用所学的识,并将其运用到实际项目中。 总之,课堂Flask Web课程是一门全面而实践性强的课程,旨在帮助学员掌握使用Flask框架构建Web应用程序的技能。无论是对于想要从事Web开发的人来说,还是对于已经有一定经验的开发者来说,这门课程都将带来很大的收益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值