202301-13 Django零基础入门之路由path和re_path详解 目录urls.py文件中的path和re_path1.path的基本规则:2.默认支持的转换器有:3.re_path正则匹配:Django中实战使用path和re_path1.urls.py文件:2.views.py视图函数文件:3.效果:假设现在有个需求: 需要通过URL进行参数传递,我们该怎么做呢? 其中有个方法就是本文要讲的内容——path和进阶版的re_path。urls.py文件中的path和re_path1.path的基本规则:path('test/<xx>/',views.test)... 继续阅读 >
202301-13 Django零基础入门之运行Django版的hello world 目录1.项目目录及文件说明:2.项目与应用app的关系:3.使用django框架编写helloworld!1.项目目录及文件说明:manage.pydjango中的一个命令行工具,管理django项目;__init__.py空文件,告诉python这个目录是python报;settings.py配置文件,包含数据库信息,调试标志,静态文件等;urls.pydjango项目的URL声明;wsgi.py部署服务器用到;templates存放html文件。2.项目与应用app的关系:一个项目是由多个app(模块)组成。在咱们... 继续阅读 >
202211-02 Django中间件整合Vue拦截器的使用 目录axios拦截器是什么?拦截器的使用请求拦截器响应拦截器Django中间件token验证中间件相关自定义中间件中间件的执行流程用中间件进行登录认证总结axios拦截器是什么?axios拦截器可以拦截每一次的请求和响应,然后进行相应的处理。拦截器分为请求拦截器和响应拦截器,请求拦截器可以统一在你发送请求前在请求体里加上token;响应拦截器的话,是在接受到响应之后进行的一些操作,比如,服务器返回登录状态失效,需要重新登录的时... 继续阅读 >
202206-10 Django3基于WebSocket实现WebShell的详细过程 前言最近工作中需要开发前端操作远程虚拟机的功能,简称WebShell.基于当前的技术栈为react+django,调研了一会发现大部分的后端实现都是django+channels来实现websocket服务.大致看了下觉得这不够有趣,翻了翻django的官方文档发现django原生是不支持websocket的,但django3之后支持了asgi协议可以自己实现websocket服务.于是选定gunicorn+uvicorn+asgi+websocket+django3.2+paramiko来实现WebShell.实现websocket服务使用django自带... 继续阅读 >
202206-10 基于python + django + whoosh + jieba 分词器实现站内检索功能 基于pythondjango源码前期准备安装库:pipinstalldjango-haystackpipinstallwhooshpipinstalljieba如果pip安装超时,可配置pip国内源下载,如下:pipinstall-ihttp://mirrors.aliyun.com/pypi/simple/--trusted-hostmirrors.aliyun.com<安装的库>pipinstall-ihttp://mirrors.aliyun.com/pypi/simple/--trusted-hostmirrors.aliyun.comdjango如果安装django-haystack失败,先安装setuptools_scm.在安装djan... 继续阅读 >
202205-30 Django实现上传图片功能 本文实例为大家分享了Django实现上传图片的具体代码,供大家参考,具体内容如下1.设置存放上传的图片的文件夹settings.pyMEDIA_ROOT=os.path.join(BASE_DIR,'media').replace('\\','/')MEDIA_URL='/media/'2.创建图片路径的表结构models.py#存放图片的表classAvatar(models.Model):user=models.CharField(max_length=100)photo=models.ImageField(upload_to='photos',default='avatar.jpg')3.构建并实施迁移... 继续阅读 >
202205-27 Django框架CBV装饰器中间件auth模块CSRF跨站请求问题 CBV添加装饰器给CBV添加装饰器有三种方法,三种方法都需要导入模块:fromdjango.utils.decoratorsimportmethod_decorator第一种直接在方法上面添加:fromdjango.utils.decoratorsimportmethod_decoratorclassMyLogin(View):@method_decorator(auth)defget(self,request):returnHttpResponse('Isfromget')defpost(self,request):returnHttpResponse('Isfrompost')第二种是在类上面添加:fromdjango.ut... 继续阅读 >
202205-17 Django动态展示Pyecharts图表数据的几种方法 目录Django模板渲染1.新建一个Django项目2.新建项目urls文件3.编写Django和pyecharts代码渲染图表定时全量更新图表定时增量更新图表本文将介绍如何在web框架Django中使用可视化工具Pyecharts,看完本教程你将掌握几种动态展示可视化数据的方法!Django模板渲染1.新建一个Django项目命令行中输入以下命令django-adminstartprojectpyecharts_django_demo创建一个应用程序pythonmanage.pystartappdemo创建完... 继续阅读 >
202205-17 详解解Django 多对多表关系的三种创建方式 目录1、方式一:自动创建2、方式二:纯手动创建3、方式三:半自动创建1、方式一:自动创建#djangoorm自动帮我们创建第三张表,我的app名字是app01,表名为:app01_book_authors#这种方式可以让Django迅速的帮我们建一张关系表出来,好处是可以通过这张表进行跨表查询,坏处是一张虚拟表,拓展性差。#书籍表classBook(models.Model):name=models.CharField(max_length=32)authors=models.ManyToManyField(to='Aut... 继续阅读 >
202205-17 手把手教你使用Django + Vue.js 快速构建项目 目录1.前言2.环境准备3.创建Django项目4.创建Vue.js前端项目5.解决跨域问题6.整合Django和Vue.js前端1.前言本篇将基于Django+Vue.js,手把手教大家快速的实现一个前后端分离的Web项目。2.环境准备 Python3.6.1Mysql5.7.23Pycharm(专业版)Node3.创建Django项目创建完成后,目录结构如下所示使用Navicat工具创建数据库DjangoVue安装mysqlclient库配置settings.py文件,配置M... 继续阅读 >
202204-30 Django中如何使用Channels功能 目录一、什么是WebSocket二、什么是Channels三、Django中使用Channel四、前端Websocket使用五、测试Channels功能前言:最近后台写游戏更新版本功能,简单就是前端发送更新请求,后端需要对很多台服务器进行更新和各种操作,本来想着实现不难,后来发现因为后端需要执行很长时间,前端返回报错,后端会执行完毕,但是前端先断开了,这样在前端页面我就看不到更新结果了。通过调整nginx参数,设置超时时间,还是日志会报4... 继续阅读 >
202204-20 Django使用HTTP协议向服务器传参方式小结 目录1.查询字符串数据(querystring):2.提取请求体数据2.1表单类型请求体数据(FormData)2.2非表单类型请求体数据(Non-FormData):JSON3.URL路径参数:提取URL路径中的特定部分数据3.1path()提取路径参数3.2re_path()提取路径参数3.3path()和re_path()如何选择?4.请求头5.其他常用HttpRequest对象属性用户发送请求时携带的参数后端需要使用,而不同的发送参数的方式对应了不同的提取参数的方式利用HTTP协议向服务器... 继续阅读 >
202203-09 Django搭建MySQL主从实现读写分离 目录一、MySQL主从搭建操作步骤二、Django实现读写分离自动指定一、MySQL主从搭建主从配置原理:主库写日志到BinLog从库开个IO线程读取主库的BinLog日志,并写入RelayLog再开一个SQL线程,读RelayLog日志,回放到从库中主从配置流程:master会将变动记录到二进制日志里面;master有一个I/O线程将二进制日志发送到slave;salve有一个I/O线程把master发送的二进制写入到relay日志里面... 继续阅读 >
202202-11 django生产环境搭建(uWSGI+django+nginx+python+MySQL) 目录1、系统环境,必要知识2、安装python3.6.53、安装Django4、安装uWSGI5、安装nginx6、MySQL安装配置7、编写一个简单的博客系统1、系统环境,必要知识#cat/etc/redhat-releaseCentOSLinuxrelease7.5.1804(Core)#uname-r3.10.0-862.3.2.el7.x86_64暂时关闭防护墙,关闭selinux:#systemctlstopfirewalld.service#setenforce0#getenforcePermissive准备知识:django:一个基于python的开源web框架。uWSGI:一个基于自... 继续阅读 >
202202-11 Django的get_absolute_url方法的使用 目录一、创建模型二、设计urls三、编写视图四、HTML模板五、使用get_absolute_url方法六、总结思考本文主要的目的是通过一个简单的例子,展示`get_absolute_url`的用法,抛砖引玉,理解实例方法的本质,能够在不同的业务场景下,灵活多变,完成需求。环境:Python3.8+Django3.0我们都知道,在反向解析url的时候,Django提供了三种方法,帮我们替代硬编码的方式,也就是:在模板中:使用url模板标签。在Python代码中:使... 继续阅读 >
202202-11 Django 查询数据库返回JSON的实现 目录返回多条数据返回单个对象和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式返回多条数据示例importjsonfromdjango.httpimportHttpResponsefromdjango.coreimportserializersdefdb_to_json(request):scripts=Scripts.objects.all()[0:1]json_data=serializers.serialize('json',scripts)returnHttpResponse(json_data,content_type="application/json")返回结果[{"fields":{"script... 继续阅读 >