ε基础web开发(2):简单的前后端协同demo:登录界面

ε基础web开发(2):简单的前后端协同demo:登录界面


首先尝试一个简单的登录界面demo。

前端

前端包含一个可以向后端提交数据的表单,代码如下(参考菜鸟教程):

<!Doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>
            login
        </title>
    </head>

    <body>
        <form action="/cgi-bin/backend.py" method="post" target="_blank" accept-charset="UTF-8">
            <!-- 在新页面打开后端文件;accept-charset属性用来接收中文 -->
            <input type="text" name="name" value="请输入姓名"> <br>
            <input type="password" name="password"> <br>
            <input type="checkbox" name="checkbox"> <br>
            <input type="radio" name="radio"> <br>
            <input type="textarea" name="textarea"> <br>
            <input type="submit" value="提交">
        </form>
    </body>
</html>

后端

解析前端数据

首先我们在后端解析前端发回的数据,参考菜鸟教程
但是在显示时发生了中文乱码现象,查阅资料Python中CGI模块中文乱码的问题解决方案html中form表单提交中文乱码问题基本解决办法后,解决了这一问题。

#!G:\Programming\Anaconda3\pkgs\python-3.7.7-h60c2a47_2\python.exe

import cgi, cgitb

form = cgi.FieldStorage()

name = form.getvalue("name") if form.getvalue("name") else "Empty"
password = form.getvalue("password") if form.getvalue("password") else "Empty"
checkbox = form.getvalue("checkbox") if form.getvalue("checkbox") else "off"
radio = form.getvalue("radio") if form.getvalue("radio") else "off"
textarea = form.getvalue("textarea") if form.getvalue("textarea") else "Empty"


print("Content-type:text/html\n")
print("<html>")
print("<head>")

print("<title>backend</title>")
print("</head>")
print("<body>")
print("<p>name: " + name + "</p>")
print("<p>password: " + password + "</p>")
print("<p>checkbox: " + checkbox + "</p>")
print("<p>radio: " + radio + "</p>")
print("<p>textarea: " + textarea + "</p>")
print("</body>")
print("</html>")

可以在弹出的窗口看到前端输入的信息,证明后端成功收到了数据。

后端向前端反馈信息

本来以为不会是非常复杂的东西……但是似乎并非如此。至少需要后端向前端发送http请求,且前端进行监听。因此直接使用框架进行学习。
由于正在完成的一个小组项目使用的是Vue+Django的前后端组合,因此这里直接学习Django。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值