django
超级大饭粒
学无止境,人生苦短,我也用python
展开
-
十 、 ORM中的高级条件操作与惰性机制
双下划线(__)之单表条件查询:例如我们查询用户表里面的数据# 获取id大于0 且 小于5的值obj_li = models.Userinfo.objects.filter(id__lt=5,id__gt=0) # 获取id等于2,3的数据l = [2,3]obj_li = models.Userinfo.objects.filter(id__in = l) # not in...原创 2018-12-26 14:00:32 · 350 阅读 · 0 评论 -
十八、阿里云api调用
sdk参考下载地址:https://developer.aliyun.com/tools/sdk#/pythonpip安装sdk:pip install aliyun-python-sdk-ecs用法:api概览:https://help.aliyun.com/document_detail/25485.html?spm=a2c4g.11186623.6.921.26b51f3cUQ...原创 2019-01-24 14:13:08 · 1590 阅读 · 0 评论 -
十六、cmdb的增删改查
初步实现cmdb增删改查功能,先实现功能后面补充样式。1、设计表,在models中定义好字段;models.pyclass Disk(models.Model): '''磁盘''' path = models.CharField(max_length=64, blank=True, null=True, verbose_name='挂载路径') size = mode...原创 2019-01-17 17:28:03 · 1805 阅读 · 0 评论 -
十三、FBV和CBV和数据序列化
FBV代表func,也就是函数。CBV代表class,也就是类应用场景:登录验证.FBV写法:def login(request): dic = {'tag':None,'data':None,'status':True} if request.method == 'GET': # 第一次登陆跳转到登陆 return render(reque...原创 2019-01-02 14:56:07 · 291 阅读 · 0 评论 -
九、ORM中的一对多,多对多的增删改查
模型之间的三种关系:一对一,一对多,多对多。一对一:实质就是在主外键(author_id就是foreign key)的关系基础上,给外键加了一个UNIQUE=True的属性;一对多:就是主外键关系;(foreign key)多对多:(ManyToManyField) 自动创建第三张表(当然我们也可以自己创建第三张表:两个foreign key)查询操作:一对多查询,多对多查询:注意, ...原创 2018-12-25 19:29:01 · 1503 阅读 · 0 评论 -
十五、django 中间件
django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。应用场景:登录验证,session验证因为所有的流量都需要经过中间件,所以用中间件做登录验证是非常方便的在django项目的settings模块中,有一个 MIDDLEWARE列表,其中每一个元素就是一个中间件,如下图。...原创 2019-01-04 16:12:54 · 194 阅读 · 0 评论 -
三、django url模块
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间,它就是我们的网站路由系统 urlpatterns = [ url(正则表达式, views视图函数,参数,别名),]参数说明:一个正则表达式字符串一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串可选的要传递给视图函数的默认参数(字典...原创 2018-12-19 11:35:32 · 257 阅读 · 0 评论 -
十四、django Form表单
Form表单验证(用户请求验证+生成HTML标签)应用场景:示例:1、用户管理2、添加用户页面、 显示HTML标签、3、提交:数据验证(例如用户名密码不为空,电话号码位数等)4、成功之后保存error_messages:错误信息 widget:渲染方式 required:不为空案例:写一个简单的注册,并且验证填写规范,并且成功把数据存入Mysql注意,更多的字段判...原创 2019-01-03 17:58:23 · 773 阅读 · 0 评论 -
八、django modles 数据库选择与增删改查
1、选择mysql数据库在setting中配置:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'py', #你的数据库名称 'USER': 'root', #你的数据库用户名 'PASSWORD': '...原创 2018-12-24 14:19:03 · 221 阅读 · 0 评论 -
十二、python cookie和session
COOKIE 与 SESSION简介1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“谁”了。2、cookie虽然在一定...原创 2018-12-28 19:55:02 · 1229 阅读 · 0 评论 -
二 、django models基本使用
django 本身提供了非常强大易使用的ORM组件,并且支持多种数据库,如sqllite,mysql,progressSql,Oracle等1、定义数据,我们使用sqlit数据库在models.py模块中定义表和字段格式:from django.db import models# Create your models here.class Userinfo(models.Model)...原创 2018-12-18 10:44:28 · 681 阅读 · 0 评论 -
一、Django的基本流程
MVC和MTV模式Django的MTV模式本质是各组件之间为了保持松耦合关系,Django的MTV分别代表:Model(模型):负责业务对象与数据库的对象(ORM)Template(模版):负责如何把页面展示给用户View(视图):负责业务逻辑,并在适当的时候调用Model和Template此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理...原创 2018-12-17 14:07:30 · 268 阅读 · 0 评论 -
十一、django 分页
django的分页我们引用它自带的Paginator就可以了1、在usl.py中添加路由#测试分页url(r'^page/$', views.PageTurning),2、view.py处代码def PageTurning(request): data_li = ['join','paul','george','ringo'] obj_li = models.Useri...原创 2018-12-27 15:00:53 · 174 阅读 · 0 评论 -
七、django admin模块
admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。初始化账户密码python manage.py createsuperuser将英文站点改为中文站点(可选)在se...原创 2018-12-21 16:45:43 · 215 阅读 · 0 评论 -
六、django view视图模块的返回
一个视图函数,或者简短来说叫做视图,是一个简单的Python函数,它接受web请求,并且返回web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了能够把代码放在某个...原创 2018-12-21 16:40:25 · 1269 阅读 · 0 评论 -
五、html中的模板继承
extend模板继承到目前为止,我们的模板范例都只是些零星的 HTML 片段,但在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面。 这就带来一个常见的 Web 开发问题: 在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码?Django 解决此类问题的首选方法是使用一种优雅的策略—— 模板继承 。本质上来说,模板继承就是先构造一个基础框架模板,而后在...原创 2018-12-20 22:06:50 · 5197 阅读 · 0 评论 -
四、django template模块
将页面的设计和Python的代码分离开会更干净简洁更容易维护。 我们可以使用 Django的 模板系统 (Template System)来实现。所以说template 主要负责html部分。一、指定读取静态资源1、首先在settings.py中确定 已经指定了静态资源路径,并且static文件夹也在django下面建好:STATIC_URL=’/static/’2、在html中指定...原创 2018-12-20 22:01:10 · 150 阅读 · 0 评论 -
十七、python中的importlib反射
importlib反射,可以动态的导入模块来执行方法。它有三个方法:getattr,hasattr,setattr。此处,我们可以利用getattr,动态的导入模块来执行类方法,不用手动的执行from xxx import xxx。极大的简洁和方便了开发。例如我们获取服务器的参数,其中获取disk的方法写入一个py文件:路径为:func/hosts/disk.pyclass Disk(o...原创 2019-01-21 14:54:37 · 526 阅读 · 0 评论