为您找到搜索结果:3134个
表单提交post和get方法区别
表象不同,get把提交的数据url可以看到,post看不到原理不同,get是拼接url,post是放入http请求体中提交数据量不同,get最多提交2k数据,浏览器的限制。post理论上无限制,受服务器限制get提交的数据在浏览器历史记录中,安全性不好场景不同,get重在"要",post重在"给"...
文件上传按钮样式定制
<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><metahttp-equiv="X-UA-Compatible"content="ie=edge"/><title>inputfile样式更改</title><style>*{padding:0;margin:0;}.uploadImg{display:inline-block;/*相对定位*/position:relative;width:140px;font-size:16px;color:#007fcb;margin-top:10px;overflow:hidden;}.file{/*绝对定位*/position:absolute;z-index:100;/*透明度为0-------关键设置*/opacity:0;filter...
流式上传下载
转载文章:https://blog.csdn.net/jinixin/article/details/79053741https://github.com/jinixin/upload-demo/blob/master/server.py...
Django使用TestCase测试接口
在接触开源社区Github之后,发现特别多的开源项目都会有单元测试TestCase。但是在步入工作后,从业了两个创业公司,发现大多数程序员都没有养成写单元测试的习惯。在目前的公司面试了一些程序员,他们的工作经验平均都有三年以上,但是都没有编写单元测试的习惯。问到"为什么不去编写单元测试呢?",无非就是回答"没有时间"、"写的都是接口,直接用客户端工具测试一下就可以了"。在笔者使用了Django框架自带的TestCase之后,发现用TestCase测试接口不仅比一些客户端工具方便,而且还能降低在对代码进行修改之后出现BUG的几率,特别是一些对代码有严重的洁癖喜欢优化代码的程序员来说真的非常有用。而且运用框架的TestCase编写单元测试,还能结合一些CI工具来实现自动化测试,这个我也会专门写一篇文章来介绍我利用GitlabCI结合Django的TestCase实现自动化测试的一些心得。为了方便没用用过TestCase的读者,先简单介绍一下TestCase的类结构。常见的TestCase由setUp函数、tearDown函数和test_func组成。这里test_func是指你编写了测试逻...
django-silk django性能测试工具
介绍Silk是Django框架的实时分析和检查工具。源代码名称:django-silk源代码网址:http://www.github.com/jazzband/django-silk快速开始1、安装pipinstalldjango-silk2、配置setting.pyINSTALLED_APPS=(...'silk')MIDDLEWARE=[...'silk.middleware.SilkyMiddleware',...]3、urls.pyurlpatterns+=[url(r'^silk/',include('silk.urls',namespace='silk'))]4、迁移:生成silk用的相关数据库表pythonmanage.pymakemigrationspythonmanage.pymigratepythonmanage.pycollectstaticPS:如果settings.py中没有配置过STATIC_ROOT,在执行“pythonmanage.pycollectstatic”的时候,有可能会报错,提示缺少STATIC_ROOT配置。加上即可。如:STAT...
Django haystack实现全文搜索
原文:https://segmentfault.com/a/1190000006597041作者:NULL一、使用的工具haystack是django的开源搜索框架,该框架支持Solr, Elasticsearch, Whoosh, *Xapian*搜索引擎,不用更改代码,直接切换引擎,减少代码量。搜索引擎使用Whoosh,这是一个由纯Python实现的全文搜索引擎,没有二进制文件等,比较小巧,配置比较简单,当然性能自然略低。中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替换whoosh的分词组件。其他:Python3.4.4,Django1.8.3,Debian4.2.6_3二、配置说明现在假设我们的项目叫做Project,有一个myapp的app,简略的目录结构如下。-Project-Project-settings.py-blog-models.py此models.py的内容假设如下:fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimpor...
Django集成CAS
前言单点登录(SingleSignOn,SSO)是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。有多种开源的单点登录方案,其中,CAS(CentralAuthenticationService)是YaleUniversity开发的、应用比较广泛的一种实现。CAS概述CAS全称集中式认证服务(CentralAuthenticationService),是实现单点登录(SSO)的一种手段。对于本文用户可感知的层面,认证过程如下:前端访问后端登录接口后端返回重定向到CAS服务器的登录页面,并携带当前用户访问的网页链接用户登录,浏览器发送请求到CAS服务器进行认证CAS认证通过,将本次登录保存到会话,返回回调地址给后端后端返回重定向请求给前端前端重定向到跳转登录前的页面中间涉及到的TGT处理逻辑已经由开源CASClient(python-cas)实现。要注意,CAS服务器本身有一些过滤条件,例如域名白名单等,因此接入的时候需要将新系统的域名或IP加入CAS服务端配置中。接入CAS因为是第一次接触CAS,为了方便调试,我在本地直接启动一个CAS服务端用于调试...
Django使用Channels实现WebSocket
原文:http://www.python88.com/topic/31749作者:运维咖啡吧WebSocket是什么?WebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket允许服务端主动向客户端推送数据。在WebSocket协议中,客户端浏览器和服务器只需要完成一次握手就可以创建持久性的连接,并在浏览器和服务器之间进行双向的数据传输。WebSocket有什么用?WebSocket区别于HTTP协议的一个最为显著的特点是,WebSocket协议可以由服务端主动发起消息,对于浏览器需要及时接收数据变化的场景非常适合,例如在Django中遇到一些耗时较长的任务我们通常会使用Celery来异步执行,那么浏览器如果想要获取这个任务的执行状态,在HTTP协议中只能通过轮训的方式由浏览器不断的发送请求给服务器来获取最新状态,这样发送很多无用的请求不仅浪费资源,还不够优雅,如果使用WebSokcet来实现就很完美了WebSocket的另外一个应用场景就是下文要说的聊天室,一个用户(浏览器)发送的消息需要实时的让其他用户(浏览器)接收,这在HTTP协议下是很难实现的,但Web...
Django组件:django-simple-captcha 使用
django-simple-captcha是django的验证码包,非常简单实用,这次记录的是如何点击验证码后刷新验证码,因为这个功能官方文档并没有详细给出。django-simple-captcha官方文档:http://django-simple-captcha.readthedocs.io/en/latest/django-simple-captcha的github网址:https://github.com/mbi/django-simple-captcha参考:https://blog.csdn.net/qq_36119192/article/details/880172771.安装pipinstalldjango-simple-captcha,pipinstallPillow2.将captcha加入settings.py的INSTALLED_APPS3.运行 pythonmanage.pymakemigrations 和 pythonmanage.pymigrate4.url路由加入urls.py的urlpatternsurlpatt...
Django Rest Framework组件:用户访问次数/频率限制BaseThrottle
作者: 武沛齐原文:https://www.cnblogs.com/wupeiqi/articles/7805382.htmla.基于用户IP限制访问频率fromdjango.conf.urlsimporturl,includefromweb.viewsimportTestViewurlpatterns=[url(r'^test/',TestView.as_view()),]urls.py#!/usr/bin/envpython#-*-coding:utf-8-*-importtimefromrest_framework.viewsimportAPIViewfromrest_framework.responseimportResponsefromrest_frameworkimportexceptionsfromrest_framework.throttlingimportBaseThrottlefromrest_framework.settingsimportapi_settings#保存访问记录RECORD={'用户IP':[12312139,12312135,12312...
Python Web应用部署方式:Django+Gunicorn+Gevent+nohup+Nginx
前期准备更新apt-getapt-getupdate安装pipsudoapt-getinstallpython-pip安装DjangoGunicornGeventgunicorn:高性能WSGI服务器;gevent:把Python同步代码变成异步协程的库;sudopipinstalldjangogunicorngevent确保安装Nginx,及server最简配置server{listen80;server_name服务器ip;access_log/var/log/nginx/access.log;location/{proxy_passhttp://127.0.0.1:8000;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}以上是最简单的Nginx配置,目的是为能跑起来就行,更多其他详细配置还请参照其他文章。 启动Gunicorn方式Gunicorn:一个开源Py...
Python Django +Celery +flower
1.创建django项目,添加应用到setting文件2.pip安装celery+eventlet+flower3.文件目录如下: 4.文件配置如下celery_app目录下:#-*-coding:utf-8-*-fromceleryimportCeleryapp=Celery('demo')#创建Celery实例app.config_from_object('celery_app.celeryconfig')#通过Celery实例加载配置模块__init__.py文件BROKER_URL='redis://xxx.xxx.xxx.xxx:6379'#指定BrokerCELERY_RESULT_BACKEND='redis://xxx.xxx.xxx.xxx:6379/0'#指定BackendCELERY_TIMEZONE='Asia/Shanghai'#指定时区,默认是UTC#CELERY_TIMEZONE='UTC'CELERY_IMPORTS=(#指定导入的任务模块'celery_app.task1')celeryconfig.pyfromcel...
Echarts学习:Django快速集成Echarts
django快速使用echarts准备1.在线定制下载echartshttps://echarts.apache.org/zh/builder.html2.创建一个django项目或者在已有的项目配置文件中确保数据库配置、static配置、与添加项目名到INSTALLED_APPS下。配置静态文件目录static,目录下创建:css、img、js。保存echarts.min.js到js目录下。创建templates文件,html文件放到此目录。 快速静态测试<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>ECharts</title><!--引入echarts.js-->{%loadstatic%}<scriptsrc="{%static'/js/echarts.min.js'%}"></script></head><body><!--为ECharts准备一...
Django优雅集成MongoDB
将Django与MongoDB集成在不更改DjangoORM的情况下,将MongoDB用作Django项目的后端数据库。使用DjangoAdmin在MongoDB中添加和修改文档。通过仅添加一行代码,开始将Django与MongoDB结合使用。1.pip安装djongo2、设置setting文件DATABASES={'default':{'ENGINE':'djongo','NAME':'your-db-name',}}需要注意的地方:1.Python3.6或更高版本。2.MongoDB3.4或更高版本。3.如果您的模型使用嵌套查询或子查询集,例如:inner_qs=Blog.objects.filter(name__contains='Ch').values('name')entries=Entry.objects.filter(blog__name__in=inner_qs)需要MongoDB3.6或更高版本。有哪些好处:1.重用Django模型/ORM。2.使用Djongo,可以永久地告别 DjangoMigrations。 怎么快速使用在model中配置:f...
Django Rest Framework组件:解析器JSONParser、FormParser、MultiPartParser、FileUploadParser
原文链接:https://www.cnblogs.com/wupeiqi/articles/7805382.html仅处理请求头content-type为application/json的请求体fromdjango.conf.urlsimporturl,includefromweb.views.s5_parserimportTestViewurlpatterns=[url(r'test/',TestView.as_view(),name='test'),]#!/usr/bin/envpython#-*-coding:utf-8-*-fromrest_framework.viewsimportAPIViewfromrest_framework.responseimportResponsefromrest_framework.requestimportRequestfromrest_framework.parsersimportJSONParserclassTestView(APIView):parser_classes=[JSONParser,]defpost(self,re...