通过flask搭建,简单的网站,实现注册登录效果,初步了解搭建网页的基本架构。

网站架构了解

通过flask搭建,简单的网站,实现注册登录效果,初步了解搭建网页的基本架构。

前提准备

  • html在开发中最主要的一些标签知识
  • flask中自带的接收信息给后台的语法

1)html基础标签的使用

<h1>用于强调文本内容,放大字体</h1>

/* 行内标签&&块状标签 */
1. 行内标签:字符多长就占多长的空间,内容会不断的添加在行后
<span>行内标签</span>

2. 块状标签,就独占一整行的内容空间
<div></div>  
<table></table>

3. input系列标签
<input type="text" />  这是一个文本框
<input type="password" />  这是一个密码框,用于输入密码
<input type="radio" /> 这是一个单选框,用于多选一
<input type="checkbox" /> 这是一个多选框,用于多选多
<input type="file" /> 这是一个文件上传按钮,点击后自动打开文件管理系统
<input type="submit" value="提交"/> 这是一个用于提交表单的按钮,在做用户注册和用户登录时经常用到
<input type="button" value="提交"/> 这是一个普通的按钮,经常和点击发生事件结合在一起,也就是信号与槽。
<input type="reset" value="重置" /> 当你账号和密码都出现错误的时候你可以点击重置按钮,实现清密码框的内容

4. 下拉框
1)单选,eg.选择一个你现在居住的城市
<select>
    <option>北京</option>
    <option>上海</option>
    <option>广州</option>
</select>

2)多选,eg.多选题
<select multiple>
    <option>选择A</option>
    <option>选择B</option>
    <option>选择C</option>
    <option>选择D</option>
</select>

5. 多行文本输入,这个文本框的右下角可以拉伸框的大小,然后行数可以是整数也可以是小数,而且rows设定的行数并不是只能输入这么多行的内容,而是在进入也面后,输入框的高度。
<textarea rows="行数"></textarea>

2)基于前面学的flask

  • 用户发出get请求时,网页内容信息会拼接在网络路径上。
  • 用户发出post请求,网页内容不会显示在网络路径上,因此安全性相对get较高,常用于注册和登录中的请求。

下面是注册的基础html界面代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>用户注册</h1>
<form method="post" action="/post/reg">
<div>
    用户名:<input type="text" name="user"/>
    密码:<input type="password" name="pwd"/>
</div>
    <div>
        
    性别:
    <input type="radio" name="gender" value="man"><input type="radio" name="gender" value="woman"></div>
<div>
    爱好:
    <input type="checkbox" name="hobby" value="10">篮球
    <input type="checkbox" name="hobby" value="20">足球
    <input type="checkbox" name="hobby" value="30">乒乓球
    <input type="checkbox" name="hobby" value="40">棒球
</div>
<div>
    城市:
    <select name="city">
        <option value="bj">北京</option>
        <option value="sh">上海</option>
        <option value="sz">深圳</option>
    </select>
</div>
<div>
    <div>擅长领域:</div>
    <select name="skill" multiple>
        <option value="100">打游戏</option>
        <option value="200">睡觉</option>
        <option value="300">吃饭</option>
        <option value="400">刷抖音</option>
    </select>
</div>
<div>
    备注:<textarea name="more"></textarea>
</div>
    <div>    <input type="submit" value="submit按钮"></div>
</form>
</body>
</html>
  • 从以上代码可以看出,所有的内容都被标签所包裹

  • 在标签的尖括号中,method指定了用户请求类型为post,action是将动态信息传递给了后台flask框架对应的引用下:

  • 在实现性别选择的时候,会在input标签中加入name,且保证name赋值的内容相同,是为了,避免同时可选择男好女,这种逻辑错误!

  • 可观察到,每个input的标签中都会有value,是因为,在将数据返回给后天的时候,通常用字典的格式,所以要有key,才能接住对应的值!

  • 在input标签中都设置的有name是为了,在数据返回时,能找到对应想返回的内容

@app.route('/post/reg', methods=['POST'])
def post_register():
    # 1.接收用户通过POST形式发送过来的数据
    user = request.form.get('user')
    pwd = request.form.get('pwd')
    gender = request.form.get('gender')
    hobby = request.form.getlist('hobby')
    city = request.form.get('city')
    skill = request.form.getlist('skill')
    more = request.form.get('more')
    print(user, pwd, gender, hobby, city, skill, more)
    # 将用户信息写入文件中, 写如Excel或数据库中实现注册。

    # 2.给用户再返回结果
    return "注册成功"
  • 观察上段代码可以发现,在获取用户输入内容信息时,有的用……get()而有的用……getlist(),所以在接收多行信息(多选内容)时用getlist()。
  • 等后期学了Python和数据库的结合时,你就可以将用户信息存入数据库,下次登录通过输入的账号和密码与数据库的用户数据对比,若一样,则登录成功,若不一样则登录失败!
  • 在设置登录界面也是有讲究的!首先用户看到登录的界面肯定是get请求,在输入完账号密码后,发送的肯定是post请求,所以flask的逻辑代码段就可以如下怎么写:
@app.route('/login', methods=['GET','POST'])
def login_register():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        user = request.form.get('username')
        pwd = request.form.get('password')
        print(user, pwd)
        return '登录成功'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值