python+flask开发属于自己的个人轻量级web服务网站(十七)

登陆页面和注册页面的搭建

还是跟导航条的制作一样,我们的登录页面和注册页面也是在bootstrap上寻找模板。
我们在bootstrap上全局CSS样式寻找到可用的表单:


5.png

copy下这个样式的代码
然后进行一些小的细微的调整

{% extends 'base.html' %}
{% block title %}登录{% endblock %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static',filename="css/login.css") }}">
{% endblock %}
{% block main %}
    <form action="#" method="POST">
    <div class="form-container">
        <h3 class="denglu">登录</h3>
        <div class="form-group">
            <input type="text" class="form-control" name="username" placeholder="请输入用户名">
        </div>
         <div class="form-group">
            <input type="password" class="form-control" name="password" placeholder="请输入密码">
        </div>
        <div class="form-group">
            <button class="btn btn-primary btn-block">登录</button>
        </div>
    </div>
    </form>
{% endblock %}

登录页面如下:

6.png

接下来制作注册页面,注册页面与登陆页面类似:

{% extends 'base.html' %}
{% block title %}注册{% endblock %}
{% block head %}
<link rel="stylesheet" href="{{ url_for('static',filename="css/login.css") }}">
{% endblock %}
{% block main %}
    <form action="#" method="POST">
    <div class="form-container">
        <h3 class="denglu">注册</h3>
        <div class="form-group">
            <input type="text" class="form-control" name="username" placeholder="请输入用户名">
        </div>
         <div class="form-group">
            <input type="password" class="form-control" name="password1" placeholder="请输入密码">
        </div>
        <div class="form-group">
            <input type="password" class="form-control" name="password2" placeholder="确认密码">
        </div>
        <div class="form-group">
            <button class="btn btn-primary btn-block">注册</button>
        </div>
    </div>
    </form>
{% endblock %}

注册页面的效果:


7.png

这样前端页面的制作基本完成了,接下来进行将前台页面与数据库相连的操作:

login和register页面的视图函数如下:

def login():
    if request.method=='GET':
        return render_template('login.html')
    else:
        username = request.form.get('username')
        password = request.form.get('password')
        user = User.query.filter(User.username == username,User.password==password).first()
        if user:
            session['userid']=user.id
            session.permanent=True
            return redirect(url_for('index'))
        else:
            return "用户名或密码错误!"


@app.route('/register/',methods=['GET','POST'])
def register():
    if request.method=='GET':
        return render_template('register.html')
    else:
        username = request.form.get('username')
        password1 = request.form.get('password1')
        password2 = request.form.get('password2')
        user = User.query.filter(User.username==username).first()
        #判断注册的用户名是否重复
        if user:
            return "该用户名已被使用,请重新注册!"
        #判断两次输入的密码是否一样
        else:
            if password1 != password2:
                return "两次输入的密码不一致!"
            else:
                user = User(username=username,password = password1)
                db.session.add(user)
                db.session.commit()
                #注册成功后,自动跳转到登陆页面(重定向)
                return  redirect(url_for('login'))

效果展示:


jianshu.gif
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容