Day 14 - 完成Web App
2023-02-18 15:31:07 时间
在Web App框架和基本流程跑通后,剩下的工作全部是体力活了:在Debug开发模式下完成后端所有API、前端所有页面。我们需要做的事情包括:
把当前用户绑定到request
上,并对URL/manage/
进行拦截,检查当前用户是否是管理员身份:
@asyncio.coroutine
def auth_factory(app, handler):
@asyncio.coroutine
def auth(request):
logging.info('check user: %s %s' % (request.method, request.path))
request.__user__ = None
cookie_str = request.cookies.get(COOKIE_NAME)
if cookie_str:
user = yield from cookie2user(cookie_str)
if user:
logging.info('set current user: %s' % user.email)
request.__user__ = user
if request.path.startswith('/manage/') and (request.__user__ is None or not request.__user__.admin):
return web.HTTPFound('/signin')
return (yield from handler(request))
return auth
后端API包括:
-
获取日志:GET /api/blogs
-
创建日志:POST /api/blogs
-
修改日志:POST /api/blogs/:blog_id
-
删除日志:POST /api/blogs/:blog_id/delete
-
获取评论:GET /api/comments
-
创建评论:POST /api/blogs/:blog_id/comments
-
删除评论:POST /api/comments/:comment_id/delete
-
创建新用户:POST /api/users
-
获取用户:GET /api/users
管理页面包括:
-
评论列表页:GET /manage/comments
-
日志列表页:GET /manage/blogs
-
创建日志页:GET /manage/blogs/create
-
修改日志页:GET /manage/blogs/
-
用户列表页:GET /manage/users
用户浏览页面包括:
-
注册页:GET /register
-
登录页:GET /signin
-
注销页:GET /signout
-
首页:GET /
-
日志详情页:GET /blog/:blog_id
把所有的功能实现,我们第一个Web App就宣告完成!
参考源码
相关文章
- 5 分钟,教你用 Python 制作一个生日提醒!
- 今年十八,蓝桥速刷(Python-I)
- 使用python-jenkins管理Jenkins
- python爬百度翻译demo
- python将获取到的数据保存到文本
- python:使用xpath获取想要的数据
- 接口测试第2讲:Python测试框架——unittest
- 接口测试第3讲:Python测试框架——pytest
- [python]pythonic的字典常用操作
- pip install mysql-connector-python失败
- [python]自问自答:python -m参数?
- [python]在场景中理解装饰器
- [python]python元类
- [python]pip常用命令(转载)
- [python基础知识]python内置函数map/reduce/filter
- [python]逆水行舟不进则退(1)
- [Python]新手写爬虫全过程(已完成)
- [Python]爬虫v0.1
- [Python]同是新手的我,分享一些经验
- [python]闭包到底是什么鬼?