项目结构搭建
日志继承,日志信息抽取。配置信息抽取。视图函数抽取。
具体需求
china_daily这个项目从manager.py入口,里面的manager是从info下的__init__.py中create_app()的app通过migrate和manager封装的。然后这些都是基础项目架构的配置。现在我还需要,从一个蓝图的视角,比如今天新写的news,这个蓝图,让我们实现了模板的继承,base.html,index.html,detail.html. 这些都属于flask模板的语法,首先分析出index和detail共同部分,即可抽取的是啥。base中有my header ,my script,mycontent,myrank,mycategory,myfooter6大部分。
index中对myheader,my script,mycontent,mycategory改写,其实改写都是先写好再改?我觉得不是,因为写前就设计好了。知道yaoxie
index和detail,知道共同部分。detail是改了my header,myscript,myrank,myconytent4个部分。
index
分类新闻,新闻列表,热门新闻排行。
passport
包括图形验证码,短信验证码的发送验证,登录,登出。
news
其中news查询通过在session中获取user_id,再去数据库里找user_id是否存在user对象,然后加入到data中,返回给前端渲染。和index中右上角显示用户登录与否的状态功能一样,为此在utils文件夹下里新建common.py,写一个user_login_data装饰器,通过user_id返回一个用户对象,不用写重复代码,而且右上角用户登录信息是在base.html里的header里实现的,通过if data.user_info ,如果为true就是登录的html代码,如果为false则为另一种,此外,这个user_login_data在news渲染的detail.html中还用于评论功能,如果已经登录和未登录显示不同。那么news渲染的新闻详情界面是怎么实现的呢?news对象转位字典列表,加入data,传给模板。在detail.html中有data.news_info.title/source/create_time/content/comment_counts/…渲染。