django-开发博客3

鉴于views.py文件里代码比较冗余,要把一些公共的方法抽出来,写到上下文管理器中,在user下新建一个文件叫process_context.py,抽出来的代码如下:

然后在修改views.py文件里的代码,如下图:

在settings.py文件里新增如下代码:

然后在浏览器里输入http://127.0.0.1:8000/category/5,点击回车,也可以看到对应的文章,但是代码相对于之前比较简洁,接下来修改站点,在process_context.py文件中增加如下代码:

locals()的作用是把当前函数里面的局部变量都返回,然后在index.html文件里找到如下标红处:

把上面标红处分别替换成{{site_name}}和{{describe}},这里点不出来,只能复制过去或手写,刷新http://127.0.0.1:8000/index,页面正常显示,但是缺少东西,如下图:

杨青的博客和描述不见了,于是在settings.py文件里加上'user.process_context.site_process',再次刷新http://127.0.0.1:8000/index,页面正常显示,博客的名字和博客都变了

上下文管理器:
1、每个views.py文件里面都要用到的操作,要放到上下文管理器里面
2、先定义一个函数,函数必须有一个参数,是request
3、这个函数要返回一个字典
4、要加在配置文件里面,TEMPLATES->OPTIONS->context_processors

猜你喜欢

转载自www.cnblogs.com/laosun0204/p/12230343.html
今日推荐