继续用之前代码比较乱,我们新建一个项目名为third_template,项目中此时依然只放一个main.py
项目名称为 third_template
目录
1 返回模板
1.1 使用模板 render_template()
模板是页面文件,文件格式有html,js等,我们首先创建一个文件夹templates,然后创建一个名为hello_world的html文件
- 如果不想改代码的话名称一定要使用templates
输入名称创建完毕后,我们文件会有这样的内容
我们把Title换成hello world,body上写上你好
之后我们回到main.py,加一个路由与视图
这时候我们开启服务,然后访问
发现可以访问,并且与我们输入的内容相同
1.2 以变量名的形式向模板传递参数
我们也可以向模板中传入一些信息,我们修改一下模板
我们可以通过两个大括号加变量名的形式把内容传进来,我们现在回到main.py中定义变量
我们访问一下
1.3 以字典的方式向模板传递参数
那么我们想像django那样,用字典的方式传参,那么我们应该这样做
- 我们字典中的变量名要与模板中的变量名相同
我们访问一下
发现没有问题
2 重定向 redirect()
如果我将 地址a 重定向为 地址b ,那么当我访问 地址a 的时候就会跳转到 地址b
我们如果输入 www.360buy.com 这个地址,就会跳转到 www.jd.com 这个就是重定向
我们写一个看看
运行之后访问127.0.0.1/redirect,访问后浏览器会弹出百度的页面,在pycharm中会返回状态码302
3 返回JSON
我们写一下路由与视图
访问之后可以看到我们的json数据
4 自定义状态码与响应头
4.1 自定义状态码
我们在要返回的内容后加上自己想要的状态码就行了,我当前令其状态码为888
我们访问一下
4.2 自定义响应头
响应头信息以字典的方式传递,在状态码后加入字典即可
访问后我们通过浏览器看一下响应头
发现我们给的字典已经传入进去了,如果只想定义响应头也是可以的
如果写反了是不行的,会报500
响应头可以通过字典传递多个属性
4.3 make_response方式
我们也可以这样自定义状态码与响应头
- 在这里状态码只传数字也可以
我们访问一下
发现我们自定义的状态码和响应头都在其中