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 · 322 阅读 · 0 评论 -
十八、阿里云api调用
sdk参考下载地址: https://developer.aliyun.com/tools/sdk#/python pip安装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 · 1521 阅读 · 0 评论 -
十六、cmdb的增删改查
初步实现cmdb增删改查功能,先实现功能后面补充样式。 1、设计表,在models中定义好字段; models.py class Disk(models.Model): '''磁盘''' path = models.CharField(max_length=64, blank=True, null=True, verbose_name='挂载路径') size = mode...原创 2019-01-17 17:28:03 · 1791 阅读 · 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 · 283 阅读 · 0 评论 -
九、ORM中的一对多,多对多的增删改查
模型之间的三种关系:一对一,一对多,多对多。 一对一:实质就是在主外键(author_id就是foreign key)的关系基础上,给外键加了一个UNIQUE=True的属性; 一对多:就是主外键关系;(foreign key) 多对多:(ManyToManyField) 自动创建第三张表(当然我们也可以自己创建第三张表:两个foreign key) 查询操作: 一对多查询,多对多查询: 注意, ...原创 2018-12-25 19:29:01 · 1453 阅读 · 0 评论 -
十五、django 中间件
django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 应用场景:登录验证,session验证 因为所有的流量都需要经过中间件,所以用中间件做登录验证是非常方便的 在django项目的settings模块中,有一个 MIDDLEWARE列表,其中每一个元素就是一个中间件,如下图。...原创 2019-01-04 16:12:54 · 186 阅读 · 0 评论 -
三、django url模块
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间,它就是我们的网站路由系统 urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 可选的要传递给视图函数的默认参数(字典...原创 2018-12-19 11:35:32 · 233 阅读 · 0 评论 -
十四、django Form表单
Form表单验证(用户请求验证+生成HTML标签) 应用场景: 示例: 1、用户管理 2、添加用户页面、 显示HTML标签、 3、提交:数据验证(例如用户名密码不为空,电话号码位数等) 4、成功之后保存 error_messages:错误信息 widget:渲染方式 required:不为空 案例:写一个简单的注册,并且验证填写规范,并且成功把数据存入Mysql 注意,更多的字段判...原创 2019-01-03 17:58:23 · 766 阅读 · 0 评论 -
八、django modles 数据库选择与增删改查
1、选择mysql数据库 在setting中配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'py', #你的数据库名称 'USER': 'root', #你的数据库用户名 'PASSWORD': '...原创 2018-12-24 14:19:03 · 215 阅读 · 0 评论 -
十二、python cookie和session
COOKIE 与 SESSION 简介 1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“谁”了。 2、cookie虽然在一定...原创 2018-12-28 19:55:02 · 1203 阅读 · 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 · 655 阅读 · 0 评论 -
一、Django的基本流程
MVC和MTV模式 Django的MTV模式本质是各组件之间为了保持松耦合关系,Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理...原创 2018-12-17 14:07:30 · 244 阅读 · 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 · 166 阅读 · 0 评论 -
七、django admin模块
admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。 初始化账户密码 python manage.py createsuperuser 将英文站点改为中文站点(可选) 在se...原创 2018-12-21 16:45:43 · 205 阅读 · 0 评论 -
六、django view视图模块的返回
一个视图函数,或者简短来说叫做视图,是一个简单的Python函数,它接受web请求,并且返回web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了能够把代码放在某个...原创 2018-12-21 16:40:25 · 1229 阅读 · 0 评论 -
五、html中的模板继承
extend模板继承 到目前为止,我们的模板范例都只是些零星的 HTML 片段,但在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面。 这就带来一个常见的 Web 开发问题: 在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码?Django 解决此类问题的首选方法是使用一种优雅的策略—— 模板继承 。 本质上来说,模板继承就是先构造一个基础框架模板,而后在...原创 2018-12-20 22:06:50 · 5076 阅读 · 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 · 137 阅读 · 0 评论 -
十七、python中的importlib反射
importlib反射,可以动态的导入模块来执行方法。 它有三个方法:getattr,hasattr,setattr。 此处,我们可以利用getattr,动态的导入模块来执行类方法,不用手动的执行from xxx import xxx。极大的简洁和方便了开发。 例如我们获取服务器的参数,其中获取disk的方法写入一个py文件: 路径为:func/hosts/disk.py class Disk(o...原创 2019-01-21 14:54:37 · 519 阅读 · 0 评论