用python语言开发类似instagram网站的项目,写博客以整理思路形成系统的认知,加深印象和方便日后复习。
如发现问题,欢迎随时留言讨论。
本文主要介绍 装饰器,Flask框架。并且有学习时运行的截图。
一. 装饰器
请参考:我的博客python装饰器
通俗不严谨解释:
把函数名称当作参数和返回值,在内部调用,控制调用前后的操作逻辑
二. Flask
请参考:我的博客Flask入门
流程
一个最简易的网页
1 | #-*- encoding=UTF-8 -*- |
至此,一个简单的网页就运行起来了,下面就是针对这个网站进行一些细节操作,逐步完善
优化
多映射
- 意义
避免因后期升级导致旧的连接无法使用 - 语法
在上面添加装饰器,使得可以同时接受多个路径的映射
1 | @app.route('/') #指定根路径的回调 |
参数变量
语法
通过url传递参数
1 | @app.route('/profile/<uid>/') |
错误
指定传递参数的类型,如果传递的参数类型不符合,会直接回404
1 | @app.route('/profileInt/<int:uid>/') |
三. 模板(template)
请参考:我的博客Jinja2模板
课上的例子
- 导入
render_template
- 在主程序所在目录下创建templates文件夹
- 把模板文件放到这里面
视频里的模板文件是profile.html
1 | <html> |
1 | #-*- encoding=UTF-8 -*- |
404模板–from flask import Flask, render_template, request
1 | 404的模板是not_found.html, 也要放在templates里面 |
1 | <!DOCTYPE html> |
1 | from flask import Flask, render_template, request |
重定向—from flask import Flask, render_template, request, redirect
重定向就是将网页自动转向重定向,分为——301永久性重定向和302临时性重定向。
- 301:新网址完全继承旧网址,旧网址的排名等完全清零
- 302:对旧网址没有影响,但新网址不会有排名
1 | from flask import Flask, render_template, request, redirect |
参考文章
python初级项目课(二)
牛客网初级项目(无连接,去网站购买学习)