关于注册问题

关于注册问题

{% extends 'base.html' %}
{% block title %}{ { super() } }-注册{% endblock %}
<% block header %>
<link rel="stylesheet" href="./assets/style/login.css">
<link rel="stylesheet" href="//at.alicdn.com/t/font_1658093_nokjvsp8hws.css">
<% endblock %>
{% block layout %}
<div class="container">
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            {# 展示flash #}
            {% include 'components/flash_message.html' %}
            <div class="login-header">
                <h2 class="title text-center">在线问答系统-注册</h2>
                <div class="slogan text-center">有问题 上问答</div>
            </div>
            <!-- 表单登录 -->
            <form class="login-form box-wrap" method="POST"
                  action="{{ url_for('accounts.register') }}">
                {{ form.csrf_token }}
                <div class="form-group">
                    <label for="id-user-name">用户名</label>
                    {{ form.username }}
                </div>
                <div class="form-group">
                    <label for="id-nick-name">昵称</label>
                    {{ form.nickname }}
                </div>
                <div class="form-group">
                    <label for="id-password">密码</label>
                    {{ form.password }}
                </div>
                <div class="form-group">
                    <label for="id-confirm-password">确认密码</label>
                    {{ form. confirm_password}}
                    <div class="form-group">
                        <button type="submit" class="btn btn-info btn-block btn-lg">注册</button>
                    </div>
                    <p class="desc">未注册手机验证后自动登录<br/>
                        注册即代表同意《用户使用协议》《隐私保护指引》</p>
                    <p class="text-right">已有账号,<a href="{{ url_for('accounts.login') }}">点击登录</a></p>
            </form>
            <!-- //表单登录 -->
            <!-- 社交账号登录 -->
            <div class="login-social box-wrap">
                <span>社交账号登录</span>
                <div class="right">
                    <span><i class="iconfont icon-wechat"></i>微信</span>
                    <span><i class="iconfont icon-qq"></i>QQ</span>
                    <span><i class="iconfont icon-weibo"></i>微博</span>
                </div>
            </div>
            <!-- //社交账号登录 -->
            <!-- 页脚 -->
            <div class="login-footer">
                <a href="">关于我们</a>
                <a href="">联系我们</a>
                <a href="">注册机构</a>
                <a href="">专栏</a>
                <br>
                <a href="">京ICP 备1000000012号</a>
            </div>
        </div>
    </div>
</div>
{% endblock %}
{# flash 消息 #}
<!-- 消息通知区域 -->
{% for category, message in get_flashed_messages(with_categories=true) %}
<div class="alert alert-{{ category }} alert-dismissible fade in" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span
            aria-hidden="true">×</span></button>
    {% autoescape false %}
    <span>{{ message }}</span>
    {% endautoescape %}
</div>
{% endfor %}
from flask import Blueprint, render_template, flash, redirect, url_for

from accounts.forms import RegisterForm
from models import User, db, UserProfile

accounts = Blueprint('accounts', __name__,
                     template_folder='templates',
                     static_folder='../assets')


@accounts.route('/login')
def login():
    """ 登录页面 """
    return render_template('login.html')


@accounts.route('/register', methods=['GET', 'POST'])
def register():
    """ 注册 """
    form = RegisterForm()
    if form.validate_on_submit():
        # 1. 获取表单信息
        username = form.username.data
        password = form.password.data
        nickname = form.nickname.data
        # 2. 添加到db.session
        try:
            user_obj = User(username=username, password=password, nickname=nickname)
            db.seesion.add(user_obj)
            profile = UserProfile(username=username, user=user_obj)
            db.session.add(profile)
            db.session.commit()
            # 3.跳转到成功页面
            flash('注册成功, 请登录', 'success')
            return redirect(url_for('accounts.login'))
        except Exception as e:
            print(e)
            flash('注册失败, 请稍后再试', 'danger')
    return render_template('register.html', form=form)


@accounts.route('/mine')
def mine():
    """ 个人中心 """
    return render_template('mine.html')
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField


class RegisterForm(FlaskForm):
    """ 用户注册 """
    username = StringField(label='用户名', render_kw={
        'class': 'form-control input-lg',
        'placeholder': '请输入用户名'
    })
    nickname = StringField(label='用户昵称', render_kw={
        'class': 'form-control input-lg',
        'placeholder': '请输入用户昵称'
    })
    password = PasswordField(label='密码', render_kw={
        'class': 'form-control input-lg',
        'placeholder': '请输入密码'
    })
    confirm_password = PasswordField(label='确认密码', render_kw={
        'class': 'form-control input-lg',
        'placeholder': '请输入确认密码'
    })

添加上nickname实验报错信息显示,结果显示session

https://img1.sycdn.imooc.com//climg/64d0a0ce0958778b08430044.jpg

https://img1.sycdn.imooc.com//climg/64d0a0f6090fb6a411430775.jpg

哪个步骤错了这是?对比了很多遍都没有发现

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
qq_慕婉清1197770 提问者 2023-08-07 15:59:14

问题已解决

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师