django
django中常见的一些问题及技术点
猿来学python
猿来学python!
展开
-
django Adimn站点
django Adimn站点使用Admin站点1 管理界面本地化2 创建超级管理员3 App应用配置4 注册模型类5 调整站点信息调整列表页展示1 列表中的列显示哪些字段2 页大小3 "操作选项"的位置4 右侧栏过滤器5.搜索框6 将方法作为列7 关联对象调整编辑页展示1. 显示字段2. 分组显示3. 关联对象上传图片1 配置2 为模型类添加ImageField字段3 使用Admin站点上传图片使用Admin站点假设我们要设计一个新闻网站,我们需要编写展示给用户的页面,网页上展示的新闻信息是从哪里来的呢原创 2020-05-17 13:57:16 · 213 阅读 · 0 评论 -
django的管理器Manager
django管理器Manager自定义管理器1. 修改原始查询集,重写all()方法。2.在管理器类中补充定义新的方法管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。我们在通过模型类的objects属性提供的方法操作数据库时,即是在使用一个管理器对象objects。当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,它是models.Manager类的对象。自定义管理器我们可以自定义管理器,并应用到我们的模型类原创 2020-05-17 12:56:09 · 276 阅读 · 0 评论 -
django查询集QuerySet
django查询集QuerySet1.概念2.两大特性1.惰性执行2.缓存3.限制查询集1.概念Django的ORM中存在查询集的概念。查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表):1. all():返回所有数据。2. filter():返回满足条件的数据。3. exclude():返回满足条件之外的数据。4. order_by():对结果进行排序。对查询集可以再次调用过滤器进行过滤,如Boo原创 2020-05-17 12:41:25 · 146 阅读 · 0 评论 -
django shell使用orm语法操作数据库汇总
django ORM数据库操作汇总1 增加1.1 save1.2 create2.删除2.1 模型类对象delete2.2 模型类.objects.filter().delete()3.修改3.1 save3.2 update4.查询4.1 过滤查询5. F对象6. Q对象7. 聚合查询7.1 聚合函数7.2 排序8.关联查询8.1 关联查询8.2 关联过滤查询1 增加增加数据有两种方法:1.1 save通过创建模型类对象,执行对象的save()方法保存到数据库中。>>> fro原创 2020-05-15 00:37:42 · 343 阅读 · 0 评论 -
djnao 演示工具shell的使用
djnao 演示工具shell的使用1 shell工具2 查看MySQL数据库日志1 shell工具Django的manage工具提供了shell命令,帮助我们配置好当前工程的运行环境(如连接好数据库等),以便可以直接在终端中执行测试python语句。通过如下命令进入shell:python manage.py shell导入两个模型类,以便后续使用from booktest.models import BookInfo, HeroInfo2 查看MySQL数据库日志查看mysql数据原创 2020-05-14 23:07:49 · 132 阅读 · 0 评论 -
django中定义模型类及数据迁移
django中定义模型类及数据迁移定义模型类1 定义1) 数据库表名2) 关于主键3) 属性命名限制4) 字段类型5) 选项6) 外键2 迁移1)生成迁移文件2)同步到数据库中3 添加测试数据定义模型类模型类被定义在"应用/models.py"文件中。模型类必须继承自Model类,位于包django.db.models中。1 定义创建子应用booktest,在booktest 的 models.py 文件中定义模型类。from django.db import models#定义图书模型类B原创 2020-05-14 23:01:46 · 634 阅读 · 0 评论 -
django在settings中配置mysql的连接
配置在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库。使用MySQL数据库首先需要安装驱动程序pip install PyMySQL在Django的工程同名子目录的__init__.py文件中添加如下语句from pymysql import install_as_MySQLdbinstall_as_MySQLdb()作用是让Django的ORM能以mysqldb的方式来调用PyMySQL。3. 修改DATABASES配置信息原创 2020-05-14 22:35:06 · 1063 阅读 · 0 评论 -
django orm对数据库的操作原理
orm对数据库的操作原理ORM框架ORM作用ORM框架O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表原创 2020-05-14 22:26:54 · 654 阅读 · 0 评论 -
Django中使用jinja2模板
Django中使用jinja2模板jinja2介绍1.安装jinja2模块2.Django配置jinja2jinja2介绍Jinja2:是 Python 下一个被广泛应用的模板引擎,是由Python实现的模板语言,他的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能,尤其是Flask框架内置的模板语言由于django默认模板引擎功能不齐全,速度慢,所以我们也可以在Django中使用jinja2, jinja2宣称比django默认模板引擎快10-20倍。Django主流的第原创 2020-05-14 21:55:35 · 469 阅读 · 0 评论 -
django自带模板详解
1.Django自带模板使用1.1 配置1.在工程中创建模板目录templates。2.在settings.py配置文件中修改TEMPLATES配置项的DIRS值:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此处修改 'APP_DIR原创 2020-05-14 00:17:42 · 518 阅读 · 0 评论 -
自定义django中的中间件
中间件Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。以上也是面试中经常会问到的问题.1 中间件的定义方法定义一个中间件工厂函数,然后返回一个可以被调用的中间件。中间件工厂函数需要接收一个可以调用的get_response对象。返回的中间件也是一个可以被调用的对象,原创 2020-05-13 23:43:56 · 88 阅读 · 0 评论 -
django中函数视图和类视图的使用
1 类视图引入以函数的方式定义的视图称为函数视图,函数视图便于理解。但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。例如下方的函数视图:def register(request): """处理注册""" # 获取请求方法,判断是GET/POST请求 if request.method == 'GET': # 处理GET请求,返回注册页面 return render原创 2020-05-13 23:26:32 · 580 阅读 · 0 评论 -
session简介及session在django中的使用
Session 简介Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。Session原创 2020-05-13 22:34:03 · 255 阅读 · 0 评论 -
cookie简介及在django中的使用
CookieCookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发原创 2020-05-13 22:03:26 · 146 阅读 · 0 评论 -
构造django的响应
django中的响应视图在接收请求并处理后,必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建,HttpResponse对象由开发人员创建。1 HttpResponse可以使用django.http.HttpResponse来构造响应对象。如:HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)也可通过HttpResponse对象属性来设置响应体、状态码:content:表示返回的内容。原创 2020-05-13 21:37:47 · 140 阅读 · 0 评论 -
django的requet请求传参方式总结
请求传参方式回想一下,利用HTTP协议向服务器传参有几种途径?1.提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;2.查询字符串(query string),形如?key1=value1&key2=value2;3.请求体(body)中发送的数据,比如表单数据、json、xml;4.在http报文的头(header)中。1 URL路径参数传参在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Djang原创 2020-05-13 21:23:05 · 1786 阅读 · 0 评论 -
django中的url详解
路由说明1. 路由定义位置Django的主要路由信息定义在工程同名目录下的urls.py文件中,该文件是Django解析路由的入口,也叫总路由.每个子应用为了保持相对独立,可以在各个子应用中定义属于自己的urls.py来保存该应用的路由,也叫子路由。然后用主路由文件包含各应用的子路由数据。除了上述方式外,也可将工程的全部路由信息都定义在主路由文件中,子应用不再设置urls.py。如:from django.conf.urls import urlfrom django.contrib impo原创 2020-05-13 00:34:22 · 5686 阅读 · 0 评论 -
django项目settings中常用的配置
配置文件1. BASE_DIR当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))假设我们的项目目录是如下图所示的目录结构:1.os.path.abspath(file): settings文件的绝对路径**---->** “~/Desktop/test_makekarking_project/makema原创 2020-05-13 00:14:48 · 275 阅读 · 0 评论 -
django项目创建视图
创建视图原创 2020-05-12 23:35:41 · 269 阅读 · 0 评论 -
如何创建django项目
创建项目在django中,项目工程目录可以借助django提供的命令帮助我们创建。1. 创建创建工程的命令为:django-admin startproject 工程名称注:需要先安装django,配置django虚拟环境django虚拟环境搭建及安装详解例如:想要在桌面的code目录中创建一个名为demo的项目工程,可执行如下命令:cd ~/Desktop/codedjango-admin startproject demo执行后,会多出一个新目录名为demo,此即为新创建的项目目原创 2020-05-12 23:03:08 · 683 阅读 · 0 评论 -
django创建子应用/django创建app
创建子应用在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该模块代码整体复制过去,达到复用。在Flask框架中也有类似子功能应用模块的概念,即蓝图Blueprint。1. 创建在django中,创建子应用模块目录仍然可以通过命令来操作,即:python manage.py startapp 子应用名称manage.py 为上一片文章中创建项目时自原创 2020-05-12 23:01:54 · 1403 阅读 · 1 评论 -
Django 项目搭建之虚拟环境安装及pip常见命令
环境安装1. 创建虚拟环境mkvirtualenv django_py3_1.11 -p python3django_py3_1.11是自己定义的虚拟环境名称, -p 选项后面的python3是你指定的在虚拟环境中要使用的python解释器版本注意点: 创建虚拟环境需要联网,原因:创建的虚拟环境中会自动下载安装pip, setuptools和wheel.没有网络无法下载.**虚拟环境安装及配置详解**2. 安装Djangopip install django==1.11.11注:原创 2020-05-12 22:22:58 · 613 阅读 · 0 评论 -
Django介绍,mvc设计模式及mvt设计模式介绍及对比
1. 简介Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位,被认为是该领域.原创 2020-05-12 21:51:13 · 304 阅读 · 0 评论 -
Python Web 框架要点简介及web应用程序处理流程
后续,我会将python django框架中的一些常用知识点全部总结在我的博客中,有需要的同学们可以添加收藏,我会持续更新.1. Web应用程序处理流程2.Web程序框架的意义1.用于搭建Web应用程序2.免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现3. Web应用程序的本质1.接收并解析HTTP请求,获取具体的请求信息2.处理本次HTTP请求,即完成本次请求的业务逻辑处理3.构造并返回处理结果——HTTP响应4.Web框架学习方法如何搭建工程程序1原创 2020-05-12 21:37:26 · 154 阅读 · 0 评论 -
ubuntu16.04创建,删除,切换python虚拟环境
ubuntu创建python虚拟环境1.本地非虚拟环境安装pip2.安装virtualenv3.使用virtualenv创建虚拟环境4.查看虚拟环境列表5.进入虚拟环境或切换虚拟环境6.退出虚拟环境7.删除虚拟环境1.本地非虚拟环境安装pipsudo wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.py使用sudo...原创 2020-04-16 22:24:22 · 1888 阅读 · 1 评论 -
使用命令进行mysql数据库数据备份与恢复
mysql数据库数据备份与恢复mysql数据备份与恢复1.备份2.恢复mysql数据备份与恢复1.备份mysql -u root -p dbname > ./dbmane.sql注:命令中root换成你的数据库用户名, -p后可以直接跟你的数据库密码,也可以空着,等命令执行时再输入密码, dbmane是你要备份的数据库的名字, dename.sql是要保存的文件的名字,./代表保存...原创 2020-03-22 20:51:26 · 370 阅读 · 0 评论 -
linux终端后台启动django服务
终端后台启动服务1.进入虚拟环境(切记)2. nohup [你的命令] [服务ip:端口] > nohup.log 2>&1 13. 示例命令:workon mydjango_virtualenvnohup python manage.py runserver 127.0.0.1:8001 > nohup.log 2>&1 1第一行代码是进入...原创 2020-04-16 22:40:16 · 657 阅读 · 0 评论