在每个Web请求中都提供一个 request.user 属性来表示当前用户.如果当前用户未登录,则该属性为AnonymousUser的一个实例,反之,则是一个User实例. 你可以通过is_authenticated()来区分,例如: if request.user.is_authenticated(): # Do something for authenticated users. else: # Do something for anonymous users. 登陆login login(…
上篇简单介绍了框架所使用的Autofac,采用Autofac提供的Ioc管理整个Web项目中所有对象的生命周期,实现框架面向接口编程.接下来介绍框架的日志系统. 一.介绍之前 框架日志是否有存在的必要性?假如你认为你的框架永远不会出现Bug,或者你能根据错误提示就能还原现场,重现这个问题,那你不需要日志.目前看来这样的项目不存在(Helloworld之类除外).因此日志框架还是很必要的. 日志框架用于记录:系统运行过程中错误详情:用于记录系统使用过程中产生的意外情况:用于记录系统一些状态信息等等…
要修改针对首页中的POST请求的测试.希望视图把新添加的待办事项存入数据库,而不是直接传给响应. 为了测试这个操作,要在现有的测试方法test_can_save_a_post_request中添加3行新代码 # lists/tests.py def test_can_save_a_post_request(self): response = self.client.post('/', data={'item_text':'A new list item'}) self.assertEqual(I…
继上一篇requests发送json请求的文章后,实际工作中遇到了以下2种情况. 1:服务端要求json字符串,键名的顺序固定  2.服务端对于接收到的json数据中,若key和value之间有空格,则解析不了. 第1种情况:服务端要求json字符串,键名的顺序固定  服务端在解析客户端请求时,要求收到的请求json数据中,键名的顺序要固定 .比如第一个键名必须是mac,第二个键名必须是agentCode等. 而我们使用requests发送请求数据时,我们是对字典进行json处理的,顺序并不是固…
投票系统之详解 1.创建项目(mysite)与应用(polls) django-admin.py startproject mysite python manage.py startapp polls 添加到setting.py INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.con…
当我们打开浏览器,输入一个URL去请求我们需要的资源,但是URL是需要解析成对应的IP地址才能与远程主机建立连接,如何将URL解析成IP就是DNS的工作范畴,即使作为开发人员,这个过程我们也感觉不到,但是它却真实的存在,如果任何一台DNS服务器坏掉都会导致非常严重的互联网灾难. DNS服务器的解析过程如下图所示: 这个DNS解析大概有十个步骤: 第一步:浏览器会检查缓存中有没有这个域名对应的解析过的IP,如果缓存中有,这个解析过程就将结束.所以很多时候因为浏览器的DNS缓存的问题,导致访问某个资…
项目开端 参考的是mxonline项目 先把这两项完成 1.app设计 2.app的models的设计 经过分析系统有四个模块 users - 用户管理 course - 课程管理 oranization - 授课教师&授课机构 operation - 用户操作管理 一般系统都先设计用户模块, 把较为独立的模块也放在users模块 先设计user模块 - 用户详情里的字段有 image nick_name gender brith mobile address django默认自带用户表的字段无…
1.常用查询 模型类上的管理器: ** 模型类.objects ** (1)常用一般查询 rs = Student.objects.all() # 查询所有记录,返回Queryset print(rs.query) # 返回rs的SQL语句, 针对Queryset对象 rs = Student.objects.filter(name='XM') # 条件查询, 可传多个参数, 返回Queryset # from django.db.models import Q # Student.object…
1:登录视图 redis_cli.py文件: import redis Pool= redis.ConnectionPool(host='localhost',port=6379,decode_responses=True) 登录视图文件:import redisfrom utils.redis_cli import Pool    # 创建redis连接池 class UserLogin(APIView): """ 用户登陆认证: 登录成功更新token值,并且返回给前端,…
HttpRequest request = HttpContext.Current.Request; if (!string.IsNullOrEmpty(request.ServerVariables["HTTP_X_FORWARDED_FOR"])) { //ip = GetCDNIP(request.ServerVariables["HTTP_ARR_IP"]); if (string.IsNullOrEmpty(ip)) { ip = request.Serv…