python bottle框架 网站_原创:用python web框架 bottle 开发网站 二

在第一节我们了解了bottle框架的基本使用,并写出了一个简单的hello欢迎页面,接下来我们用bottle实现及其简单的欢迎页面。

#

main.pyfrom bottle import run,route,template@route("/")def index(name):

return template('index',username = name) run(host = 'localhost',

port = 80, debug = True, reloader = True)

在main.py目录下建立views目录,然后在views目录中建立index.tpl文件,编辑index.tpl文件如下:

Index Page

index page

%if username == None or username == '':

welcome

%else:

welcome {}

%end

其中index.tpl是bottle的自带模板引擎会render的文件,如果未明确指定路径,则bottle的template会在views文件夹中寻找相关文件.

@route('/')

是bottle的动态路由,一个简单的动态路由使用将动态参数名字括起来.

run选项中的

debug = True, reloader = True

表示打开debug状态,便于调试,reloader则表示文件如果有修改则自动重启服务器,实现热更新。

运行服务器后,我们访问http://127.0.0.1/Jianshu,则会显示

image.png

这样就可以根据get参数传入的用户名来动态显示欢迎页面.

image.png

但是一个欢迎页面是显示的欢迎用户名一般都是网站的注册用户,以上的实现只是了解bottle的动态路由用法,欢迎页面应该显示登录用户的用户名,如果未登录,我们要提示登录,总之,没有用户登录注册,用户欢迎页面是一个尴尬的存在。

接下来,是时候实现用户登录了。

#main.py

(文件名)from bottle import run,route,template,request@route("/login",

method = 'get')def index(): return template('login')@route('/login',

method = 'post')def index(): username =

request.forms.get('username') password =

request.forms.get('password') if username == 'admin' and password ==

'root' : return f'欢迎 ' return '账号密码错误' run(host =

'localhost', port = 80, debug = True, reloader = True)

Login Page

Login Page

Username:

Password: 提交

这样,当我们访问http://127.0.0.1/login时,会弹出一个认证页面。

image.png

只有账号密码都正确的时候,才会弹出到欢迎页面

image.png

login.tpl有一个表单(form),它通过post方法,向http://127.0.0.1/login传递一个表单数据,main.py则通过

requests.forms.get(表单name属性)

来获取这个数据,然后通过校验,判断是否允许登录。

但是目前还是不能算一个基础功能完善的登录系统,因为,你不能把账户和密码硬编码到代码中,这样即不方便也没有多大的意义。

下一节,我们要用文本文档(或者轻量级数据库sqlite3)实现保存用户名和密码和加密,以便多用户使用。

极简框架之所以比较容易入门,就是因为一些东西比较简短,能很快明白其中的意思

喜欢的可以点点关注,后续会有更多精彩文章

欢迎大家来投稿,本专栏要求内容不低俗,文章内无广告,希望大家踊跃投稿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值