202101-08 Django使用django-simple-captcha做验证码的实现示例 安装django-simple-captchapipinstalldjango-simple-captcha将captcha安装在installed_apps里面将captcha配置url迁移同步,生成captcha所依赖的表pythonmanage.pymakemigrationspythonmanage.pymigrate将captcha字段在form类当中进行设置,但是要导入fromcaptcha.fieldsimportCaptchaField在后台逻辑当中,get请求里面实例化我们的form,将form对象返回到页面在页面上通过{{form.captcha}}获取验证码效果图注册成功到此... 继续阅读 >
202101-08 Django使用django-simple-captcha做验证码的实现示例 安装django-simple-captchapipinstalldjango-simple-captcha将captcha安装在installed_apps里面将captcha配置url迁移同步,生成captcha所依赖的表pythonmanage.pymakemigrationspythonmanage.pymigrate将captcha字段在form类当中进行设置,但是要导入fromcaptcha.fieldsimportCaptchaField在后台逻辑当中,get请求里面实例化我们的form,将form对象返回到页面在页面上通过{{form.captcha}}获取验证码效果图注册成功到此... 继续阅读 >
202101-08 Django权限控制的使用 自己搭建后台网站,需求:实现类似djangoAdmin站点对每一张表的增删改查权限控制。实现步骤:1.权限控制Django框架已自带,共6张表,User表,Group表,UserGroup表,Permission表,GroupPermission表,UserPermission表,一般情况下,使用默认即可。2.若User表自定义,需继承Django自带AbstractUser类,Group表同理。3.创建类PermissionControl继承BasePermission,重写has_permission和has_object_permission方法。importrefro... 继续阅读 >
202101-08 详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法 1StreamingHttpResponse下载StreamingHttpResponse(streaming_content):流式相应,内容的迭代器形式,以内容流的方式响应。注:StreamingHttpResponse一般多现实在页面上,不提供下载。以下为示例代码defstreamDownload(resquest):deffile_iterator(filepath,chunk_size=512):withopen(filepath,'rb')asf:whileTrue:con=f.read(512)ifcon:yieldconelse:breakfilename=os.path.abspath(__file__... 继续阅读 >
202101-03 Django 实现图片上传和下载功能 原生上传图片方式#新建工程pythonmanage.pystartapptest30#修改settings.pyINSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','stu']#修改urls.pyfromdjango.conf.urlsimporturl,includefromdjango.contribimportadminurlpatterns=[url(r'^admin/',admin.site.ur... 继续阅读 >
202012-26 Django前后端分离csrf token获取方式 需求一般Django开发为了保障避免csrf的攻击,如果使用Django的模板渲染页面,那么则可以在请求中渲染设置一个csrftoken的cookie数据,但是如果需要前后端分离,不适用Django的模板渲染功能,怎么来动态获取csrftoken呢?Django通过request请求获取csfttoken的方法fromdjango.middleware.csrfimportget_tokendefgetToken(request):token=get_token(request)returnHttpResponse(json.dumps({'token':token}),con... 继续阅读 >
202012-22 Django中ORM的基本使用教程 前言Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞:创建数据库,设计表结构和字段使用MySQLdb来连接数据库,并编写数据访问层代码业务逻辑层去调用数据访问层执行数据库操作ORMorm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表:类-->表,对象-->一行数据对象的属性-->一行属性的一个字段比如说一... 继续阅读 >
202012-22 django中ImageField的使用详解 ImageField的使用笔记今天完善作业写的订单系统,主要是给每一个菜品增加图片,看起来美观一些,但是没想到这个小小的需求花了我一天时间,记录下来,算增长知识了。使用流程1.配置setting文件MEDIA_ROOT代表的是上传图片的根目录,MEDIA_URL代表的是访问文件时url的前缀。#图片储存根路径MEDIA_ROOT=join('media')#图片访问urlMEDIA_URL='/IMG/'2.model里面增加ImageField属性up_load一定要配置,代表你最后的图片会存储到M... 继续阅读 >
202012-22 Django用内置方法实现简单搜索功能的方法 Model中分别提供了filter方法和icontains方法实现简单的搜索功能。html页面中实现搜索框模板api_test_manage.html中增加以下内容<formmethod='get'action='/api_search/'>{%csrf_token%}<inputtype='search'name='api_test_name'placeholder='流程接口名称'required><buttontype='submit'>搜索</button></form>views增加search函数,过滤数据ApiTest/apiviews.py中增加函数#搜索功能@login_requireddefapi_search(reque... 继续阅读 >
202012-18 Django解决frame拒绝问题的方法 一、home页使用frametemplate/home.html<!DOCTYPEhtml><htmllang="en"><metahttp-equiv="Content-Type"content="text/html"charset="UTF-8"><head><title>自动化测试平台</title></head><framesetid="frame"rows="*"cols="265,*"framespacing="0"frameborder="yes"border="0"><framesrc="../left"name="leftFrame"scrolling="auto"noresize><framesrc="../welcome"name="mainFrame"scrolling="NO"noresiz... 继续阅读 >
202012-18 Django自带的用户验证系统实现 首先,我要说明一下,下面内容不是必须品,如果各位大神喜欢手写也是可以的,你也可以选择自带的功能来缩减你的代码量,提高效率!第一步系统配置用户表首先,在models中创建用户表,导包fromdjango.contrib.auth.modelsimportAbstractUser#创建用户表classUser(AbstractUser):username=models.CharField(max_length=200,unique=True)password=models.CharField(max_length=200)classMeta:db_table='user'在setti... 继续阅读 >
202012-18 Django模板报TemplateDoesNotExist异常(亲测可行) 环境Django2.0+Win10+Pycharm+360浏览器报错项目结构(报异常)解决方法看了好多大佬的解决方法,基本上都是配置settings.py文件,配来配去搞了好几个小时,依然没有解决问题。后来发现,提示说的是templates路径下找不到文件,那么我们就在项目里面自己建个文件夹,命名为templates。运行发现,还是有问题,还是找不到html,修改路由啥的搞了一通,还是没用。经过多次实验,发现了正解:在templates下新建个文件夹,与应... 继续阅读 >
202012-16 关于django python manage.py startapp 应用名出错异常原因解析 如题,在控制台运行pythonmanage.pystartappsales建立一个应用报错异常1.应用名不能包含下划线等字符所以app-demo不能作为应用名被定义2.manage.py报错这时我们要打开manage.py文件修改前:ifname=="main":os.environ.setdefault("DJANGO_SETTINGS_MODULE","djangodeom.setting")fromdjango.core.managementimportexecute_from_command_lineexecute_from_command_line(sys.argv)修改后:把os里面的setting去掉,django... 继续阅读 >
202012-07 用ldap作为django后端用户登录验证的实现 每个公司在运维平台化过程中,如果以开始没有规划,免不了全面开花,会做成好多个平台,然后每个平台都有自己的认证体系,等平台多了,记录这些账号就变得非常烦人,如果用不同的密码,对人的记忆力是个挑战,所以基于此,大部分公司会有部署Ldap系统,来统一运维系统的账号管理,像我们常用的jenkins也可以做对接到ldap上,这样所有的系统就可以统一用ldap来认证,然后根据不同的人来设置不同的权限,那django怎么使用ldap来做后... 继续阅读 >
202012-07 Django中使用Celery的方法步骤 (一)、概述Celery是一个简单、灵活和可靠的基于多任务的分布式系统,为运营提供用于维护此系统的工具。专注于实时处理的任务队列,同时也支持任务的调度。执行单元为任务(task),利用多线程这些任务可以被并发的在单个或多个职程(worker)上运行。Celery通过消息机制通信,通常通过中间人(broker)来分配和调节客户端与职程服务器(worker)之间的通信。客户端发送一条消息,中间人把消息分配给一个职程,最后由职程来负责执行此任务。... 继续阅读 >
202012-04 django中cookiecutter的使用教程 一、安装导入:pipenvinstallcookiecutter问题:在导入的过程中可能会报错:pkg_resources.VersionConflict:(importlib-metadata3.1.0(/Users/apple/.local/share/virtualenvs/testProject-h0hp04R9/lib/python3.6/site-packages),Requirement.parse('importlib-metadata<2,>=0.12;python_version<"3.8"'))。原因及解决:这个问题的出现主要是pipenv版本不支持,需要更新pipenv,使用命令:pip3install-Upipenv,然后... 继续阅读 >