---- 问:为什么用 Django 1.11 版本,而不是最新版。...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,内容上会更加动态,信息量会更大,毕竟书上不能带着你写代码,视频是可以非常直观的演示代码编写的...书上的代码以及放到 Github 上的代码,都是在 Mac 系统和 Linux 系统上运行过的,如果你的 Windows 上,可能会遇到一些问题,你可以针对错误提示搜索一下,调整代码。
在书中我采用的版本是1.11.4,后来Django升级到了1.11.10,产品仍旧可以正常执行,但是当我把Django升级到2.X版本后,程序就不能运行了,参考了一下网上的资料,发现主要2.0的在路由方面做了改动...P[0-9]+)/$', views.view_goods), 我们可以看出,这里的: view_goods:为路径名; :int表示数字,参数名为good_id...关于int共有以下五类(这五类Django称作转换器): str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式 int,匹配正整数,包含0。...path,匹配任何非空字符串,包含了路径分隔符(/)(不能用问号,因为问号在url地址有特殊含义。) 这样我的代码就变成了如下形式。...首先我们打开settings.py文件,找到 # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.11
创建项目 前往目标路径创建项目,在这里我的 django 项目都在我的家目录下面的 django_project里面。 ? 进入要创建项目的路径下,使用下面的命令创建一个 django 项目。...'django.contrib.staticfiles', # 添加的自定义应用 'app', ] app目录结构 创建后的 app 目录结构和使用命令行创建的一样,下面来看看具体都有什么作用...: 'django.template.backends.django.DjangoTemplates', # 模板页面默认路径:项目根路径下的templates文件夹 '...source文件夹中的路径) url正则 原生字符串 # urls.py配置路由 url(r'test', app_view.test) # views.py设置响应函数 def test(request...8000/test # http://127.0.0.1:8000/test/ # 问题:不能作为应用总路由 # eg:app_test应用在项目urls.py # url(r'^app-test/'
从Django 1.11 迁移到 Django 2.2 后 AdminFileWidget 的 render 报错了: TypeError: render() got an unexpected keyword...1.11 def render(self, name, value, attrs=None, renderer=None): # django 2.2 output = []...if value and getattr(value, "url", None): image_url = value.url file_name...src="%s" alt="%s" />' % \ (image_url, image_url, file_name)) output.append...AdminFileWidget, self).render(name, value, attrs)) return mark_safe(u''.join(output)) widgets.py 的路径
导入注意事项 Django 2.2 的 path 导入:from django.urls import path, re_path, include APP urls: 增加了 app_name Django...1.11 的 url from django.conf.urls import url, include 语法注意事项 django 2.2: https://docs.djangoproject.com...slug - 匹配任意由 ASCII 字母或数字以及连字符和下划线组成的短标签。比如,building-your-1st-django-site 。 uuid - 匹配一个格式化的 UUID 。...path - 匹配非空字段,包括路径分隔符 '/' 。它允许你匹配完整的 URL 路径而不是像 str 那样只匹配 URL 的一部分。...django 1.11: http://doc.codingdict.com/django/index.html
陷入了深深的沉思~~ 从Go1.11版本发布Go MODULE之后,我希望这是最后一次折腾包管理这件事情,神呐,诚心诚意的祈祷中~~ 摘抄备忘下: GO111MODULE Modules 是作为 experiment...feature 加入到不久前正式发布的 Go 1.11 中的。...off: go modules experiment feature 关闭,go compiler 会始终使用 GOPATH mode,即无论要构建的源码目录是否在 GOPATH 路径下,go compiler...go get 升级 运行 go get -u 将会升级到最新的次要版本或者修订版本 (x.y.z,z 是修订版本号, y 是次要版本号) 运行 go get -u=patch 将会升级到最新的修订版本...,vendor 得以保留,这也是为了兼容 Go 1.11 之前的版本。
可以用下面的方法判断是什么请求 if request.ajax(): #如果ajax请求 if request,method=="POST": #如果是POST请求 9、上传文件有一个固定的配置参数media,和static...=os.path.join(BASE_DIR,"app01","media","uploads") #具体路径 - 在url中配置 url(r'^media/(?...from django.conf.urls import url,include from django.contrib import admin from django.conf import settings...from django.views.static import serve from blog import views urlpatterns = [ url(r'^admin/', admin.site.urls...request.POST) logger.debug(request.FILES) if form_obj.is_valid(): # 数据经过校验没问题
的路由控制 9.1 URL配置 其本质就是URL与要为该URL调用的视图函数之间的映射关系 from django.conf.urls import url from django.contrib import...P\d+.html)',views.book) # 访问 http://127.0.0.1:8000/book/1.html 9.6 django 2.x和 1.x 路由层的区别 re_path...:跟1.X 的url用法相同(url,re_path分组分出来的数据,是字符串) path:传的路径一定是准确路径 path 的5个转换器 eg:path('test/', views.re_test...path, # 匹配任何非空字符串,包含了路径分隔符(/)(不能用?)...{{ foo }} {% empty %} 傻逼了 {% endfor %} {# 傻逼了 #} if标签 {% if %}会对一个变量求值,如果它的值是“True”(存在
二、 环境准备 安装环境: Django系: Python 2.7 + Django 1.11 Mysql 5.7 Python的MySQLdb模块等 推荐python相关的模块(包括Django)都使用...,打开浏览器console确认: 这时候我们须要在Django层注入header,用Django的第三方包django-cors-headers来解决跨域问题: pip install...="index.html")), ] 2、 上一步使用了Django的模板系统,所以需要配置一下模板使Django知道从哪里找到index.html。...这里只提一点:如果为项目配置了nginx作为反向代理,那么要在nginx中配置所有的静态文件path都指向Django项目中配置的静态文件url,在settings.py中可配置url路径: # Static...files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.11/howto/static-files/ STATIC_URL
Django 自身也有一套相对完善的缓存系统,这篇文章来介绍一下使用 redis 作为 Django 缓存的使用方法,并且说一下我在使用缓存的过程中遇到的问题。...django-redis 在项目使用的虚拟环境中使用 pip 安装即可: pip install django-redis 不过需要提醒的是,因为 django-redis 是支持 django 1.11...以上的,所以如果你的 django 版本低于这个就会被自动升级为最新版(2.0的版本),所以我建议自己先把 django 自行升级到1.11的版本。...函数中使用缓存 函数中使用缓存是最基本的使用方法,跟在其他非 django 中使用的方式一致,无非就是使用 set() 和 get() 方法。...,我之前给我的很多视图函数还有URL路由添加了缓存,也就是缓存整个页面,后来发现出问题了,因为我的每个页面都有导航栏,而导航栏上面有登录和登出按钮,这样如果缓存起来的话,就无法让用户显示登录和登出了,并且
一、需要准备的知识点 1. linux: 安装 python3、nginx 安装和配置、mysql 安装和配置 2. python: django 配置、uwsgi 配置 二、我搭建的环境 ...生成数据库表和字段(在项目路径下执行) #生成数据迁移脚本 python manage.py makemigrations ApiManager #应用到db生成数据表 python manage.py...安装 和 配置 uwsgi 安装:pip install uwsgi 配置:ini_hrm.ini [uwsgi] socket = 127.0.0.1:9092 #socket =...Supervisor 守护 Celery worker、beat、flower 教程 >>> 四、访问链接 1. django 后台 url: http://192.168.1.254/admin...Celery 任务监控后台 url: http://192.168.1.254:5555/dashboard 五、两个问题点 1.
但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一、实例 先看一个例子: from django.urls import path from . import views...默认情况下,Django内置下面的路径转换器: str:匹配任何非空字符串,但不含斜杠/,如果你没有专门指定转换器,那么这个是默认使用的; int:匹配0和正整数,返回一个int类型 slug:可理解为注释...返回一个UUID对象; path:匹配任何非空字符串,重点是可以包含路径分隔符’/‘。这个转换器可以帮助你匹配整个url而不是一段一段的url字符串。...re_path()方法在骨子里,根本就是以前的url()方法,只不过导入的位置变了。下面是一个例子,对比一下Django1.11时代的语法,有什么太大的差别?...五、总结 除了上面的部分,Django2.0路由系统其它的知识点和Django1.11的基本都是相同的,就是在写法上面有那么点小小的区别。
之前就有人一直催我把博客的 Django 升级到 Django 2.0 以上,但是我一直懒得升级,因为我早就看过 Django 2.x 版本和 1.11.x 版本,其实没有太多的不同,所以没有找到需要升级的必要...但是,秉着向新技术看齐的态度,我还是花了些时间(大概半天)把博客依赖的 Django 升级到当前最新版的 Django 2.2.6 版本了,在升级的过程中也遇到了很多问题,这些问题也是之前考虑到的,所以基本都迎刃而解了...PyMySQL 版本报错 报错现象 将 Django 升级到 2.2 以上版本之后,会发现如下报错: ......规避方法 首先,Django 2.x 跟 Django 1.x 最明显的修改就是在路由的格式,可以使用 path 替换之前使用的 url,会显得更简单,下面是我修改的: # blog app 的写法 path...migrate 报错 由于 django 2.2+ 的 auth 应用中的数据库迁移文件比 1.11+ 的版本多了几个,所以按理需要把这几个迁移文件添加到数据库中,但是由于我添加了 oauth 应用,这个应用必须依赖
. >>> Django环境搭建## 目前Django的版本已经到1.11了。先去官网下载Linux对应的文件,然后解压&安装。...(官网下载地址) tar xzvf Django-1.11.x.tar.gz cd Django-1.11.x sudo python setup.py install 这时可能会提示ImportError...sudo apt-get install mysql-server mysql-client sudo apt-get install libmysqld-dev 然后链接MySQL和Python sudo...url.py:URL配置文件,指定函数与URL的映射关系。...然后再将路径添加在urls.py文件中 from django.conf.urls import url from django.contrib import admin from views import
创建Django项目 静态文件配置 完整版登陆功能 新手三件套 HttpRequest对象 HttpResponse对象 JsonResponse CBV和FBV 简单的文件上传.../howto/static-files/ STATIC_URL = '/static/' ## 添加下面的内容,添加static的路径 STATICFILES_DIRS = [ os.path.join...4.HttpRequest.path 一个字符串,表示请求的路径组件(不含域名)。 ...301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取 (用户看到的效果就是他输入的地址A瞬间变成了另一个地址...import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin
,用户名是否存在的即时校验 ?.../howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS = [ # 6.配置静态资源路径(方便使用静态资源路径动态解析)...Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url,...import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^index...不写就是条到当前页面#} // 通过DOM操作 实时改变页面 // 将被点击的删除按钮所在的那一行直接从DOM
Nginx大全 本文主要记录平时如何使用Nginx和遇到的问题 #1 环境 Mac CentOS6.8 Nginx uwsgi #2 使用 #2.1 安装 安装分为两种,一种是在Mac,另一种是CentOS...yum.repos.d/nginx.repo [nginx] name=nginx repo # 下面这行centos根据你自己的操作系统修改比如:OS/rehel # 6是你Linux系统的版本,可以通过URL...#2.2 查找配置文件路径 #2.2.1 Mac brew info nginx Coxs-MacBook-Air:nginx coxhuang$ Coxs-MacBook-Air:nginx coxhuang.../nginx/error.log; 注: /Users/coxhuang/Documents/django_code/blog_code/logs/nginx/ 该路径必须已经存在,如果不存在,Nginx...从查询结果可以看到root 用户属于 wheel组,那我的写法就不对了,它找不到root组,所以需要改下配置文件: user root wheel; ...
models.AutoField(primary_key=True) # 头像:FileField文件(varchar类型),default:默认值,upload_to上传的路径 avatar...UserInfo', to_field='nid') article = models.ForeignKey(to='Article', to_field='nid') #布尔类型,本质也还是0和1...import url from django.contrib import admin #主路由导入视图内函数 from app import views urlpatterns = [ url...(r'^admin/', admin.site.urls), url(r'^register/', views.register), ] 四.form组件 from django import...,抛异常 raise ValidationError('用户已经存在') else: return name #全局钩子,全局校验
受影响Django版本: 1.11 到 1.11.28(不含) 2.2 到 2.2.10(不含) 3.0 到 3.0.3(不含) 目前已存在针对该漏洞的 PoC。...然后我们使用django创建项目和应用,命令如下: django-admin startproject sql 创建项目 django-admin startapp vul_app 创建应用...postgres', # 数据库用户密码 'HOST': '127.0.0.1', # 数据库地址 'PORT': '5432', } } 保存之后,初始化数据库和表...(sql) 而跟进Django的源码查看是可以发现问题的: ?...前后数据不一致说明注入漏洞存在,不过如果还想将数据库中的用户数据进一步提取出来,就进一步需要写不同的数据模型方法了。 0X5 加固修复 升级到Django最新版3.0.3即可。
1 环境介绍和准备 Python3+django+nginx+uwsgi使用场景部署 当我们写完一套完整的网站功能,我们需要实时在生产环境上线,并需要容纳高并发的访问请求。...3.1 初始化环境 mkdir ~/reboot /usr/local/python36/bin/virtualenv ~/reboot/env 3.2 安装django 1.11 source /root.../reboot/env/bin/activate pip install "django>=1.11" pip install ipython 4 mysql环境准备: 搜狐镜像:http://mirrors.sohu.com...配置 7.1 django配置修改: setting.py中添加设置静态资源路径,给nginx调用 django可以在自己的templates下面放静态资源 那个命令可以吧所有静态资源收集起来 STATIC_ROOT...并且重启nginx服务,发现问题依然存在。 ? 通过检查nginx服务发现,nginx线程为nginx用户启动 ?
领取专属 10元无门槛券
手把手带您无忧上云