之前就有人一直催我把博客的 Django 升级到 Django 2.0 以上,但是我一直懒得升级,因为我早就看过 Django 2.x 版本和 1.11.x 版本,其实没有太多的不同,所以没有找到需要升级的必要...但是,秉着向新技术看齐的态度,我还是花了些时间(大概半天)把博客依赖的 Django 升级到当前最新版的 Django 2.2.6 版本了,在升级的过程中也遇到了很多问题,这些问题也是之前考虑到的,所以基本都迎刃而解了...PyMySQL 版本报错 报错现象 将 Django 升级到 2.2 以上版本之后,会发现如下报错: ......规避方法 方法一:将 Django 的版本降到 2.1.4 版本即可。 方法二:仍然使用 django 2.2+ 但是需要修改一些源码的代码。...migrate 报错 由于 django 2.2+ 的 auth 应用中的数据库迁移文件比 1.11+ 的版本多了几个,所以按理需要把这几个迁移文件添加到数据库中,但是由于我添加了 oauth 应用,这个应用必须依赖
Use simple_tag() instead 第四类: ImportWarning: Not importing directory 这些警告主要是升级到2.0要修复的问题,暂不处理 框架部分...module named NullHandler Google: 日志配置错误 https://stackoverflow.com/questions/34348360/cannot-resolve-django-utils-log-nullhandler-in-django...: 'module' object has no attribute 'get_app' Google: django-smart-autoregister 不兼容1.11 Compatibility...# https://github.com/bmihelac/django-cruds/issues/3 # Latest supported Django is 1.11 解决方案: TODO: fork...django-smart-autoregister,并修改兼容1.11(干脆先注释了吧,不影响主功能) # workflow/admin.py # auto_configure_admin(applications
安装 redis 将下载的 redis 压缩文件加压到本地的任意一个文件夹中(推荐放到重用软件安装的目录中)。...django-redis 在项目使用的虚拟环境中使用 pip 安装即可: pip install django-redis 不过需要提醒的是,因为 django-redis 是支持 django 1.11...以上的,所以如果你的 django 版本低于这个就会被自动升级为最新版(2.0的版本),所以我建议自己先把 django 自行升级到1.11的版本。...", } } } django 缓存的使用 视图函数中使用缓存 下面的代码表示将 my_view 这个视图函数缓存60*15秒,也就是15分钟,这个视图所能指向的每个 url 都会单独创建一个缓存...我之前给我的很多视图函数还有URL路由添加了缓存,也就是缓存整个页面,后来发现出问题了,因为我的每个页面都有导航栏,而导航栏上面有登录和登出按钮,这样如果缓存起来的话,就无法让用户显示登录和登出了,并且,有表单的页面也无法提交表单
---- 问:为什么用 Django 1.11 版本,而不是最新版。...我这么做有两个原因: Django 1.11 是 LTS(Long Term Support,也就是长期支持)版本,其维护期是截止到2020年4月份的。...Django 2.0 是截止到 2019 年 4 月份。 Django 1.11 最为兼容Python 2和3的最新的版本,是在使用 Python 2的公司能够用到的最新版本。...the5fire答: 图书是在视频之后产出的,基于Python3.6 和 Django 1.11(LTS版本),在书最后会升级到Django 2.0,内容上会更加细致。...视频是基于Python 2.7和Django 1.11(LTS版本) 的版本,最终会升级到 Python3.6 和 Django2.0,内容上会更加动态,信息量会更大,毕竟书上不能带着你写代码,视频是可以非常直观的演示代码编写的
环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的...queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用的查询集...可以处理视图的路由器 router.register(r'books', views.BookInfoViewSet) # 向路由器中注册视图集 urlpatterns += router.urls # 将路由器中的所以路由信息追到到...2)在页面底下表单部分填写图书信息,可以访问添加新图书的接口,保存新书: ? 点击POST后,返回如下页面信息: ?...4)在页面底部表单中填写图书信息,可以访问修改图书的接口: ? 点击PUT,返回如下页面信息: ? 5)点击DELETE按钮,可以访问删除图书的接口: ? 返回,如下页面: ?
可选值: 'django.db.backends.postgresql' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle...如果使用SQLite,数据库文件将存放在电脑上,这种情况下,NAME应该为绝对路径,包含数据库文件的文件名。默认值如下,把数据库文件存放在项目根目录下。...默认False 注意: blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填。...如果设置了该选项值,那么默认的表单组件将变为一个select box,而不是标准是text field,且将被限制从给定choice中选择choice。.../topics/db/models/ https://docs.djangoproject.com/en/1.11/
# Django中的用户认证 Django带有一个用户认证系统。它处理用户帐户,组,权限和基于cookie的用户会话。.../auth/) ## 概述 Django认证系统处理认证和授权。...* 组:将标签和权限应用于多个用户的通用方法。...* 一个可配置的密码散列系统 * 表单和查看工具,用于登录用户或限制内容 * 可插入的后端系统 ### 用户,组,认证 模型 [https://docs.djangoproject.com/en/1.11.../topics/auth/default/#django.contrib.auth.authenticate) ``` from django.contrib.auth import authenticate
Django 1.11.x是支持Python2.7的最后版本。 二、2.0新特性 1.简化了URL路由语法 django.urls.path()方法的语法更简单了。...2.admin后台对移动端更加友好 Django最受大家欢迎的admin后台,具有响应式特性,支持主流的移动设备。 3.Window 表达式 新的Window表达式允许为查询集添加一个OVER从句。...如果你需要为last_name保持30个字符的限制,可以如下使用自定义表单: from django.contrib.auth.forms import UserChangeForm class MyUserChangeForm...QuerySet.reverse()和last()不能用于切片后的查询集 对切片后的查询集使用反转和获取最近对象的操作将弹出异常,如下所示: >>> Model.objects.all()[:2].reverse...表单的字段不再接收可选参数作为位置参数 为了防止运行时错误,提高可靠性。
在Django更改1.11: 添加了renderer参数。 支持不接受的子类将在Django 2.1中被删除。...如果您使用initial来显示表单集,则在处理该表单的提交时,应该传递相同的initial,以便表单集可以检测用户更改哪些表单。...在Django更改1.11: 添加了request参数。...在Django更改1.10: 嵌入式jQuery从2.1.4升级到2.2.3。...更改1.11: 覆盖popup_response.html模板的功能已添加。
views.py 处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。...forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。...Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS) 最后一个支持 Python 2.7 的版本 Django 2.0.x 支持 Python...3.4, 3.5 和 3.6 (注意,不再支持 Python 2) 3、安装django pip install "django>=1.11 (python36env) [devops@devops-python36...~]$ pip install "django>=1.11,<=1.12" Collecting django=1.11 Downloading http://pypi.doubanio.com
# Django使用redis实现缓存 ### 环境搭建安装 * 1,安装redis服务 ``` sudo apt-get install redis ``` * 2,安装django组件...``` sudo pip3 install django-redis ``` ### Django项目配置 ```py settings.py CACHES = {...t) ``` ### 自定义缓存 : > 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其 > > 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其结果以不同的时间间隔进行更改...> > 在这种情况下,使用每个站点或每个视图缓存策略提供的全页缓存是不理想的,因为您不希望缓存整个结果(因为有些数据经常更改),但您仍然希望缓存很少更改的结果 > > 在这样的情况下,Django提供了一个简单的.../en/1.11/topics/cache/\#the-per-site-cache](https://docs.djangoproject.com/en/1.11/topics/cache/#the-per-site-cache
Django 安全之跨站点请求伪造(CSRF)保护 by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 跨站点请求伪造(CSRF)保护 中间件配置 默认的CSRF中间件在...注意:更改配置后需要重启web服务器。...https://docs.djangoproject.com/en/2.1/ref/csrf/#utilities html模板配置 开启CSRF中间件的情况下,要在html模板中为使用post方法的form表单新增...var loginURL = '/platform/api/v1/login'; // 注册api地址 var loginFormID = 'login-form'; // 登录表单...registerRightNowID).attr("href", resources.register_url.url); } else { alert('获取资源失败,导致设置立即注册连接失败'); } // 为登录表单绑定提交事件
你本文将讲解 “MTV” 中 M 层次,即模型层(数据存取层)。模型这内容比较多,我将其拆分为 3 个部分来讲解。同时,文章也配套了例子,你可以通过 阅读原文 来查看。...另外 Django 1.8 官方只维护到 2018 年的 4 月,1.11 是最后一个兼容 Python 2 的 Django版本。...如果是项目需要升级 Django版本,需要兼容到 Python 2,那么要考虑用 1.11 版本了。...这将在数据库中和表单验证时生效 6)TextField:大文本字段。默认的表单部件是一个 Textarea。 7)DateField:日期。...你可以通过显式地指定 db_column 来改变该字段的列名称,不过,除非你想自定 义 SQL ,否则没必要更改数据库的列名称。 它第一个参数必须传入该模型关联的类。
# Django使用redis实现缓存 ### 环境搭建安装 * 1,安装redis服务 ``` sudo apt-get install redis ``` * 2,安装django组件... ``` sudo pip3 install django-redis ``` ### Django项目配置 ```py settings.py CACHES = { ...t) ``` ### 自定义缓存 : > 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其 > > 例如,您的站点可能包含一个视图,其结果取决于几个昂贵的查询,其结果以不同的时间间隔进行更改...> > 在这种情况下,使用每个站点或每个视图缓存策略提供的全页缓存是不理想的,因为您不希望缓存整个结果(因为有些数据经常更改),但您仍然希望缓存很少更改的结果 > > 在这样的情况下,Django提供了一个简单的.../en/1.11/topics/cache/\#the-per-site-cache](https://docs.djangoproject.com/en/1.11/topics/cache/#the-per-site-cache
为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中。...将请求报文中的请求行、首部信息、内容主体封装成 HttpRequest 类中的属性。...2.HttpRequest.POST 一个类似于字典的对象,如果请求中包含表单数据,则将这些数据封装成 QueryDict 对象。 ...POST 请求可以带有空的 POST 字典 —— 如果通过 HTTP POST 方法发送一个表单,但是表单中没有任何的数据,QueryDict 对象依然会被创建。...render方法就是将一个模板页面中的模板语法进行渲染,最终渲染成一个html页面作为响应体。
课程介绍 教程主要通过一下几个方面介绍python web框架Django的应用: web概述:了解什么是web软件 Django快速入门:初步了解Django应用于Web软件开发的高效特性 Django...数据模型:了解django中数据模型的定义以及数据模型之间的关联操作 Django视图模板:了解Django中网页模板的定义处理和模板语法的操作使用 Django缓存处理:了解突破硬件处理瓶颈的高性能核心...——缓存 Django权限管理:了解Django中对于web软件最重要的环节——资源访问限制 Django表单处理:了解Django对于高级表单处理的封装过程和高效处理 Django项目部署:了解Django...项目在实际使用过程中的部署操作情况 Django分布式集群部署:了解项目访问高性能的核心——多主机分布式集群 开发环境 使用最新版的各种软件,兼容老版本软件的各种操作模式 python 3.6.* Django...1.11.* MySQL 5.7.* [[ pymysql [[ pillow [[ more.....
开笔有话说 接触django有一段时间了,发现国内网站上的django学习资料,虽然有不少,但大多有老旧的通病,所基于的版本简直是太旧了,就拿《the django book》来说,这本书应该是很多人接触...django的第一本教程了,可是居然是基于1.1版本的……要知道,现在已经出了1.11版本的django了,这中间差了多少?...框架和django的模板及视图系统构建前端基本页面 增加分页 增强部分 实现发送邮件功能 创建表单及其处理 创建基于模型的表单 集成第三方应用 构建复杂的查询集 进一步扩展 创建自定义模板标签 创建自定义模板过滤器...安装Django 安装Django,版本1.8.6 隔离的环境搭建好了,接着就可以安装django了。...方法2:import django 打开python命令终端 导入django包, 成功打印出django的版本,到此,则表示django已成功安装。
1 自定义后台表单 polls/admin.py 通过 admin.site.register(Question) 注册 Question 模型,Django 能够构建一个默认的表单用于展示。...通常来说,你期望能自定义表单的外观和工作方式。你可以在注册模型时将这些设置告诉 Django。...当我们的拥有数十个字段的表单,我们肯定会期望将表单分为几个字段集,这样会更清晰一点: from django.contrib import admin from .models import Question...3 自定义后台更改列表 3.1 显示列表 默认情况下,Django 显示每个对象的 str() 返回的值。但有时如果我们能够显示单个字段,它会更有帮助。...当输入待搜项时,Django 将搜索 question_text 字段。
django搭建BBS-表单创建&注册 0824自我总结 文件结构 app 接口 migrations __inint__.py admin.py 管理员页面注册表单用 apps.py bbsform.py...For more information on this file, see https://docs.djangoproject.com/en/1.11/topics/settings/ For the...full list of settings and their values, see https://docs.djangoproject.com/en/1.11/ref/settings/ """...Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.11...}, ] WSGI_APPLICATION = 'BBS.wsgi.application' # Database # https://docs.djangoproject.com/en/1.11
领取专属 10元无门槛券
手把手带您无忧上云