Flask基础学习4

19-【实战】问答平台项目结构搭建_剪_哔哩哔哩_bilibili

参考如上大佬的视频教程,本博客仅当学习笔记,侵权请联系删除


问答发布的web前端页面实现

register.html

html 复制代码
{% extends 'base.html' %}

{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='js/register.js') }}">
    <link rel="stylesheet" href="{{ url_for('static',filename='css/login_regist.css') }}">
{% endblock %}

{% block title %}注册{% endblock %}

{% block main %}
    <h3 class="page-title">注册</h3>
    <form method="post">
        <div class="form-container">
            <div class="form-group">
                <input type="text" name="email" placeholder="邮箱" class="form-control">
            </div>
            <div class="form-group">
            <label for="exampleInputEmail"></label>
                <div class="input-group" >
                    <input type="text" name="captcha" class="form-control">
                    <div class="input-group-append">
                        <button class="btn btn-outline-secondary" type="button" id="captcha-btn">获取验证码</button>
                    </div>
                </div>
            </div>
            <div class="form-group">
                <input type="text" name="username" placeholder="用户名" class="form-control">
            </div>
            <div class="form-group">
                <input type="password" name="password" placeholder="密码" class="form-control">
            </div>
            <div class="form-group">
                <input type="password" name="password_confirm" placeholder="确认密码" class="form-control">
            </div>
            <div class="form-group">
                <button class="btn btn-primary btn-block">立即注册</button>
            </div>
        </div>
    </form>
{% endblock %}

login.html

html 复制代码
{% extends 'base.html' %}

{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='css/login_regist.css') }}">
{% endblock %}

{% block title %}登录{% endblock %}

{% block main %}
    <h3 class="page-title">登录</h3>
    <form method="post">
        <div class="form-container">
            <div class="form-group">
                <input type="text" name="email" placeholder="手机号码" class="form-control">
            </div>
            <div class="form-group">
                <input type="password" name="password" placeholder="密码" class="form-control">
            </div>
            <div class="form-group">
                <button class="btn btn-primary btn-block">立即登录</button>
            </div>
        </div>
    </form>
{% endblock %}

question.html

html 复制代码
{% extends 'base.html' %}

{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='css/question.css') }}">
{% endblock %}

{% block title %}发表问答{% endblock %}

{% block main %}
    <h3 class="page-title">发表问答</h3>
    <form method="post">
        <div class="form-container">
            <div class="form-group">
                <input name="title" type="text" placeholder="请输入标题" class="form-control">
            </div>
            <div class="form-group">
                <textarea name="context" placeholder="请输入内容" id="" class="form-control" rows="3"></textarea>
            </div>
            <div class="form-group" style="text-align: right;">
                <button class="btn btn-primary">提交</button>
            </div>
            </div>
    </form>
{% endblock %}

index.html

html 复制代码
{% extends 'base.html' %}
{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">
{% endblock %}
{% block title %}
    首页
{% endblock %}

{% block main %}
    <ul class="question-ul">
        {% for question in questions %}
              <li>
                <div class="side-question">
                    <img class="side-question-avatar" src="{{ url_for('static',filename="images/zhiliao.png") }}" alt='照骗'>
                </div>
                <div class="question-main">
                    <p class="question-title"><a href="{{url_for('qa.qa_detail',qa_id=question.id)}}">{{ question.title }}</a></p>
                    <p class="question-content">{{ question.content }}</p>
                    <p class="question-detail">
                        <span class="question-author">{{ question.author.username }}</span>
                        <span class="question-time">{{ question.create_time }}</span>
                    </p>
                </div>
            </li>
        {% endfor %}
        </ul>
{% endblock %}

detail.html

html 复制代码
{% extends 'base.html' %}

{% block head %}
    <link rel="stylesheet" href="{{ url_for('static',filename='css/detail.css') }}">
{% endblock %}

{% block title %}详情{% endblock %}

{% block main %}
    <h3 class="page-title">{{ question.title }}</h3>
    <p class="question-info">
        <span>作者:{{ question.author.username }}</span>
        <span>时间:{{ question.create_time }}</span>
    </p>
    <hr>
    <p class="question-content">{{ question.content }}</p>
    <hr>
    <h4 class="comment-group-title">评论({{ question.answers|length }}):</h4>
    <form action="{{ url_for('qa.public_answer') }}" method="post">
        <input type="hidden" name="question_id" value="{{ question.id }}">
        <div class="form-container">
            <div class="form-group">
                <input type="text" placeholder="请填写评论" name="context" class="form-control">
            </div>
            <div class="form-group">
                <button class="btn btn-primary">评论</button>
            </div>
        </div>
    </form>
    <ul class="comment-group">
        {% for answer in question.answers %}
            <li>
                <div class="user-info">
                    <img class="avatar" src="{{ url_for('static',filename='images/zhiliao.png') }}" alt="">
                    <span class="username">{{ answer.author.username }}</span>
                    <span class="create-time">{{ answer.create_time }}</span>
                </div>
                <p class="comment-content">{{ answer.content }}</p>
            </li>
        {% endfor %}
    </ul>
{% endblock %}
相关推荐
稷下元歌1 分钟前
aifei学习前置基础:全套完整教程:Anaconda 安装→环境配置→YOLOv8+OpenCV 安装 + OpenCV 实操 + 标注→训练→导出→部署
opencv·学习·yolo
星恒随风4 分钟前
Python 基础语法详解(3):顺序语句、条件语句和循环语句一篇讲清楚
开发语言·笔记·python·学习
worilb4 分钟前
Spring Cloud 学习与实践(6):Nacos 配置中心
数据库·学习·spring cloud
零陵上将军_xdr8 分钟前
API 签名防重放机制:基于 HMAC-SHA256 的设计与实现
java·学习·安全架构
数智工坊8 分钟前
周志华《Machine Learning》学习笔记--第九章--聚类
笔记·学习·机器学习
Amazing_Cacao10 分钟前
CFCA精品可可品鉴师初级防御战:刺破营销故事幻象,划定极其硬核的瑕疵风味物理边界
学习
爱喝水的鱼丶13 分钟前
SAP-ABAP:SAP 内存管理详解:从架构到优化
开发语言·学习·架构·sap·abap·内存管理
老H科研技术14 分钟前
第 02 篇:5 分钟搭建第一个 MCP 服务器
大数据·运维·服务器·人工智能·学习·aigc·ai编程
我是一颗柠檬18 分钟前
【Java项目技术亮点】Outbox事件驱动模式:解决分布式事务的终极方案
java·开发语言·分布式·后端·中间件·kafka
那晚的她19 分钟前
Scala中Set集合
开发语言·后端·scala