关于注册问题
{% 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
哪个步骤错了这是?对比了很多遍都没有发现
3
收起
正在回答 回答被采纳积分+1
1回答
qq_慕婉清1197770
2023-08-07 15:59:14
问题已解决
Python全能工程师
- 参与学习 人
- 提交作业 16247 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星