python bbs项目代码分析

def index(request, *args, **kwargs):
condition={}
type_id = int(kwargs.get("type_id")) if kwargs.get("type_id") else None #传过来的是字典
if type_id:
condition['article_type_id'] = type_id #type_id的目的是分类,需要进行筛选
article_list = models.Article.objects.filter(**condition) type_choice_list = models.Article.type_choices #所有的类型
return render(request, 'index.html', {'type_choice_list':type_choice_list,
'article_list':article_list,
'type_id':type_id
})
解析:
1、有名分组是以键值对的形式存储。客户端将这个有名分组作为参数传给index函数,index函数用**kwargs接收。用Kwargs获取type_id:kwargs.get('type_id')。
2、而这个type_id可能不存在,所以用if进行判断,有值的时候通过int包装一下,没有值的时候就等于None。
3、如果有值数据库查询数据,如果没有值(None)不做查询。如果有值就查找出等于type_id的article_type_id,最终就得到了想要的article_type_id(文章类型,article表里面的一个字段)。
待更新
python bbs项目代码分析的更多相关文章
- [Asp.net 5] DependencyInjection项目代码分析-目录
		
微软DI文章系列如下所示: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Autofac [ ...
 - [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable<>补充)
		
Asp.net 5的依赖注入注入系列可以参考链接: [Asp.net 5] DependencyInjection项目代码分析-目录 我们在之前讲微软的实现时,对于OpenIEnumerableSer ...
 - [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)
		
在 DependencyInjection项目代码分析4-微软的实现(1)中介绍了“ServiceTable”.“ServiceEntry”.“IGenericService”.“IService”. ...
 - [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(3)
		
这个系列已经写了5篇,链接地址如下: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Auto ...
 - [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(4)
		
这个系列已经写了6篇,链接地址如下: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Auto ...
 - 使用PYTHON统计项目代码行数
		
目录 一 使用PYTHON统计项目代码行数 二 应用实例 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 使用PYTHON统计项目代码行数 遇到一个非常小的需求:统计一个项目里头的各类源代码 ...
 - 教你阅读Python开源项目代码
		
为什么要阅读开源代码 阅读 Python 开源项目代码主要有如下三个原因: 在工作过程中遇到一些问题 Google 和 StackOverFlow 等网站找不到解决办法,只能去翻源码. 对某些项目或者 ...
 - [Asp.net 5] DependencyInjection项目代码分析
		
最近在研究开源代码,正好发现Asp.net5的源码,下载地址:https://github.com/aspnet. 今天主要讲的是DependencyInjection这部分,抛砖引玉,供大家参考,也 ...
 - [Asp.net 5] DependencyInjection项目代码分析2-Autofac
		
Microsoft.Framework.DependencyInjection.Autofac源码分析 该工程只有一个代码静态类AutofacRegistration,但是该类有3个扩展方法,以及3个 ...
 
随机推荐
- WINFROM中自定义控件之绑定数据即时更新
			
相信在WINFROM中写自定义控件或者用户控件,很多人都多多少少用过点 最近发现一个用户控件,绑定的数据源没办法自动更新,其实以前处理过这类的问题,可是这次遇到又花了1个多小时,所以决定记下来 在用户 ...
 - myeclipse 安装flex插件后变为中文   修改配置文件切换到英文界面
			
解决办法: 1. cmd 敲命令进入安装目录,运行myeclipse.exe -nl en后,启动为英文 在安装目录下新建txt,改名为myeclipse.bat,将上面那行命令写入保存,再发送快捷方 ...
 - java调用shell命令及脚本
			
shell脚本在处理文本及管理操作系统时强大且简单,将shell脚本结合到应用程序中则是一种快速实现的不错途径本文介绍使用java代码调用并执行shell 我在 -/bin/ 目录下写了jbossLo ...
 - 为什么在实际的 kaggle 比赛中 gbdt 和 random forest 效果非常好?
			
https://www.zhihu.com/question/51818176/answer/127637712
 - CSS3实现3D木块旋转动画
			
CSS3实现3D木块旋转动画,css3特效,旋转动画,3D,立体效果,CSS3实现3D木块旋转动画是一款迷人的HTML5+CSS3实现的3D旋转动画. 代码下载:http://www.huiyi8.c ...
 - [原创]java在线打开PDF文档
			
步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...
 - jenkins maven tomcat做持续集成
			
maven 采用 maven 3.0以上的版本.tomcat 采用 tomcat 7.0 以上的版本 1. tomcat 配置用户账号和权限 tomcat-users.xml <role rol ...
 - 【Codeforces】Gym 101608G WiFi Password 二分+线段树
			
题意 给定$n$个数,求有最长的区间长度使得区间内数的按位或小于等于给定$v$ 二分区间长度,线段树处理出区间或,对每一位区间判断 时间复杂度$O(n\log n \log n)$ 代码 #inclu ...
 - java中路径的获取
			
网上摘录 (1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getReque ...
 - asteris录音设置
			
[macro-recording] exten =>s,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},UTC-8,%Y-%m-%d-%H-%M-%S)}-${CA ...