202105-23 使用Django和Flask获取访问来源referrer Flaskrequest.referrer#来路request.headers.get('User-Agent')#请求头Djangorequest.META['HTTP_REFERER']#来路request.META.get("HTTP_USER_AGENT")#请求头补充:flask重定向到上一个页面,referrer、next参数-->重定向会上一个页面在某些场景下,我们需要在用户访问某个url后重定向会上一个页面,比如用户点击某个需要登录才能访问的连接,这时程序会重定向到登录页面,当用户登录后比较合理的行为是重定向到用户... 继续阅读 >
202105-23 Django 如何从request中获取前端数据 Django###request如果说urls.py是Django中前端页面和后台程序桥梁,那么request就是桥上负责运输的小汽车可以说后端接收到的来至前端的信息几乎全部来自于requests中。##request对象的属性request.METArequest.MATE获取的是一个标准的python字典。它包含了所有的HTTP请求信息1CONTENT_LENGTH——请求的正文的长度(是一个字符串)。2CONTENT_TYPE——请求的正文的MIME类型。3HTTP_ACCEPT——响应可接收的Content-T... 继续阅读 >
202105-23 django 使用内置messages的操作 看代码~fromdjango.contribimportmessagesmessages.info(request,'要显示的字符串')1、messages.debug(request,'调试信息')2、messages.info(request,'信息字符串')3、messages.success(request,'成功信息字符串')4、messages.warning(request,'警告信息字符串')5、messages.error(request,'错误信息字符串')例子views.pyfromdjango.contribimportmessagesdefindex(request):messages.info(request,'手机号码... 继续阅读 >
202105-23 Django自定义User模型、认证、权限控制的操作 Django自带强大的User系统,为我们提供用户认证、权限、组等一系列功能,可以快速建立一个完整的后台功能。但User模型并不能满足我们的需求,例如自带的User表中没有手机号码,而且对于国人来说表中的first_name和last_name并没有什么卵用,对于实际生产中灵活的用户表来说重写User模型是非常有必要的。扩展User模型扩展User模型有许多的方法:1、Proxy继承:代理继承,此方法只能够继承User本身拥有的字段,并不能够添加和删改,... 继续阅读 >
202105-15 Django模板中变量的运算实现 在django中的模板下我们知道变量使用{{xxx}}来呈现,可是当出现两个变量进行运算怎么处理那?#加法:{{value|add:value2}}#返回的结果是value+value2的值,假设你value为40,value2为60,则该表达式#返回结果为100#减法{{value|add-value2}}#与加法的性质一样,只不过是把第二个参数变成负数进行运算,返回的结果是value-value2#假如value=4,value2=8,则返回的结果是-4#乘法{%widthratiovalue1value2value3%}#上面的代码表示... 继续阅读 >
202105-09 django注册用邮箱发送验证码的实现 视图代码lis=[]#设置一个空列表用来存放发送的验证码,用来验证defyzm1():res1=""foriinrange(4):#用四个随机数组成验证码num=random.randint(0,9)res1+=str(num)lis.append(res1)#将验证码放入空的列表中returnres1#返回验证码classzc(View):defget(self,request):returnrender(request,'zc.html',locals())defpost(self,request):name=request... 继续阅读 >
202104-27 正确的理解和使用Django信号(Signals) Django提供一个了“信号分发器”机制,允许解耦的应用在框架的其它地方发生操作时会被通知到。 通俗而讲Django信号的工作原理就是当某个事件发生的时候会发出一个信号(signals),而监听这个信号的函数(receivers)就会立即执行。Django信号的应用场景很多,尤其是用于不同模型或程序间的联动。常见例子包括创建User对象实例时创建一对一关系的UserProfile对象实例,或者每当用户下订单时触发给管理员发邮件的动作。今天小编我... 继续阅读 >
202104-27 Django 中的Timezone 处理操作 Django中的时区在现实环境中,存在有多个时区。用户之间很有可能存在于不同的时区,并且许多国家都拥有自己的一套夏令时系统。所以如果网站面向的是多个时区用户,只以当前时间为标准开发,便会在时间计算上产生错误。为解决这个此类问题,在代码和数据库中统一使用UTC时间,仅在与最终用户进行交互时使用本地时间是一个很好的办法Django默认关闭时区支持,开启时区支持,需要在settings中设置USE_TZ=True。最好同时安装... 继续阅读 >
202104-25 Django 如何实现文件上传下载 1.前言大家好,我是安果!文件上传、下载作为基础功能,在Web项目中非常普遍,Django项目如何实现文件上传下载?本篇文章将带大家5分钟快速实现文件上传下载功能2.实战一下详细实现步骤如下(9步)2-1 进入虚拟环境,创建一个项目及Appworkon django3# 创建项目django-admin startproject file_up_and_down_demo# 进入项目根目录cd file_up_and_down_demo/# 创建一个Appdjango... 继续阅读 >
202104-25 Django展示可视化图表的多种方式 1.前言大家好,我是安果!使用Django进行Web开发时,经常有需要展示图表的需求,以此来丰富网页的数据展示常见方案包含:Highcharts、Matplotlib、Echarts、Pyecharts,其中后2种方案使用频率更高本篇文章将聊聊Django结合 Echarts、Pyecharts实现图表可视化的具体流程2.EchartsEcharts是百度开源的一个非常优秀的可视化框架,它可以展示非常复杂的图表类型以展示简单的柱状图为例,讲讲Django集成Echarts的... 继续阅读 >
202104-07 Django项目如何配置Memcached和Redis缓存?选择哪个更有优势? 对于中大型网站而言,使用缓存减少对数据库的访问次数是提升网站性能的关键手段之一。在Django项目生产环境中最常用的缓存后台是Memcached和Redis。今天小编就手把手教你如何在Django项目中配置Memcached和Redis作为缓存后台。那么它们两个到底哪个更好呢?本文会对比这两个存储系统并在文末给出答案。Memcache缓存Memcache是一个高性能的分布式内存对象缓存系统,是Django原生支持的最快最有效的缓存系统。Memcached的优点是... 继续阅读 >
202103-30 django中显示字符串的实例方法 1、quicktool/view.py文件修改视图函数index(),渲染一个home.html模板,在视图中传递一个字符串名称是string到模板home.htmldefindex(request):string=u'这是一个由Django2.1.7版本写出的视图内容!'returnrender(request,'home.html',{'string':string})2、quicktool(应用app)下创建一个templates文件夹(模板),在templates下创建一个home.html<!DOCTYPEhtml><html><head><title>学习Django</title></head><bod... 继续阅读 >
202103-24 Django结合使用Scrapy爬取数据入库的方法示例 在django项目根目录位置创建scrapy项目,django_12是django项目,ABCkg是scrapy爬虫项目,app1是django的子应用2.在Scrapy的settings.py中加入以下代码importosimportsyssys.path.append(os.path.dirname(os.path.abspath('.')))os.environ['DJANGO_SETTINGS_MODULE']='django_12.settings'#项目名.settingsimportdjangodjango.setup()3.编写爬虫,下面代码以ABCkg为例,abckg.py#-*-coding:utf-8-*-importscrapyfrom... 继续阅读 >
202103-24 Django MTV和MVC的区别详解 在上一节《Django是什么》中,我们对Django的诞生以及Web框架的概念有了基本的了解,本节我们介绍Django的设计模式,也就是MTV。在Web开发领域还有另外一个非常著名的设计模式——MVC,它和MTV又有什么区别呢?这也是本节关注的重点内容。1.MVC设计模式我们先对MVC设计模式进行介绍,它是Web设计模式的经典之作,MTV模式也是在它的基础上衍生而来。MVC是Model-View-Controller的缩写,其中每个单词都有其不同... 继续阅读 >
202103-24 django admin search_fields placeholder 管理后台添加搜索框提示文字 本文主要介绍了djangoadminsearch_fieldsplaceholder管理后台添加搜索框提示文字,分享给大家,具体如下:如图,Djangoadmin后台生成的搜索框,默认是没有提示文字的,不够友好;网上也没搜到什么好的示例,于是自己动手实现了一个0.已经存在的app名为carousel,大致相当于如下操作/代码$pythonmanage.pystartappcarousel#settings.py```INSTALLED_APPS=[...'carousel',]```#carousel/models.py```fromdjango.d... 继续阅读 >
202103-22 Django学习笔记之View操作指南 Django的View一个视图函数(类),简称视图,是一个简单的Python函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或... 继续阅读 >