
Django
文章平均质量分 70
bug捕手
十年铸剑,只为炉火纯青;一朝出鞘, 定当倚天长鸣。
展开
-
Django_获取api接口的传参
当参数为form-data 或者x-www-form-urlencoded类型时,使用request.POST获取到参数原创 2023-07-12 16:03:43 · 1335 阅读 · 0 评论 -
Django_POST请求的CSRF验证
django的POST接口发起请求默认清空下需要进行CSRF验证正常验证CSRFform表单如果form表单直接在标签之间添加{{ csrf_token }}就可以完成验证原创 2023-07-12 16:02:31 · 1078 阅读 · 0 评论 -
Django_Paginator分页器
a href="{% url 'goods:demo_list' cur_page.next_page_number %}">下一页print("上一页页码:%s" % page_obj.previous_page_number())print("下一页页码:%s" % page_obj.next_page_number())print("是否有上一页:%s" % page_obj.has_previous())print("是否有下一页:%s" % page_obj.has_next())原创 2023-07-11 15:14:03 · 1143 阅读 · 0 评论 -
Django_haystack全文搜索
haystack是全文搜索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看。whoosh是用纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用,点击查看。jieba是一款免费的中文分词包,如果觉得不好用可以使用一些收费产品。原创 2023-07-11 15:15:04 · 1333 阅读 · 0 评论 -
Django_admin数据管理后台
2.1 重写admin.ModelAdmin类"""新增或更新表中数据时自动调用"""# 1.继承原方法操作数据行为# 2.自定义操作数据行为print("数据发生了变更")"""删除表中数据时自动调用"""# 1.继承原方法操作数据行为# 2.自定义操作数据行为print("数据被删除了")2.2 重新注册模型类# 模型类关联重写的BaseModelAdmin类2.3 从admin后台操作模型可以查看工作台日志确认默认行为被修改。原创 2023-07-11 15:12:26 · 1013 阅读 · 0 评论 -
Django_加载settings配置
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings的路径id')知道settings加载原理后,在调试时可以不用启动http服务,直接加载settings配置了。当使用下面命令启动django服务时,setting会自动加载。通过查看manage.py可以找到加载代码为。# 导入配置django配置文件。原创 2023-07-11 15:11:22 · 1588 阅读 · 0 评论 -
Django_自定义文件存储类并将图片上传到FastDFS
自定义django文件存储类需要继承django的Storage类,并重写_open、_save、url、exists方法创建fdfs_storage.py文件实现如下代码:"""FastDFS文件存储类""""""用于打开文件:param name: 要打开的文件的名字:param mode: 打开文件方式"""# 打开文件时使用的,此时不需要,而文档告诉说明必须实现,所以passpass"""用于保存文件:param name: 要保存的文件名字。原创 2023-07-11 15:10:37 · 1587 阅读 · 0 评论 -
Django_内置的用户认证系统
Django内置的用户认证系统,可用于处理用户账户、群组、许可和基于cookie的用户会话。默认情况下,使用命令后,认证相关的模块已经自动添加到settings文件内了,如果没有的话,请手动添加。在在当配置正确后,运行命令,创建用户认证系统相关的数据库表以及分配预定义的权限。原创 2023-07-10 14:17:12 · 1680 阅读 · 0 评论 -
Django_模板继承
模板继承先创建一个父模版,它包含大部页面共有元素,并且需要定义能够被子模板覆盖的blocks标签。原创 2023-07-10 14:10:46 · 819 阅读 · 0 评论 -
Django_模板标签语法
可以使用{{}}引用视图函数响应的变量和模板中的变量。比如有如下视图函数在模板中引用变量方式如下界面展示如下。原创 2023-07-10 14:09:08 · 860 阅读 · 0 评论 -
Django_设置和读取cookie
在响应对象中使用set_cookie方法设置cookiereturn rsp注:响应对象指 HttpResponseBase 及其所有子类调用上面视图方法,查看设置的cookie。原创 2023-07-10 14:07:53 · 1013 阅读 · 0 评论 -
Django_使用redis缓存数据
使用自定义的缓存需要安装依赖包django-redis代码实现如下import os# 导入配置django配置文件# 建立redis连接。连接django配置中的default配置的redis# 插入字符类型值# 获取字符类型值print(ret)# 插入hash值# 获取hash类型值print(ret)# 其它类型也一样代码执行结果:查看redis中插入的数据。原创 2023-07-10 14:06:50 · 1013 阅读 · 1 评论 -
Django_发送邮件
使用django邮箱功能需要搭建smtp服务器,如果没有,可以使用第三方smtp服务器。本文以第三方QQ邮箱服务器演示如何使用python的smtplib+email完成邮箱发送功能。原创 2023-07-09 15:34:37 · 1665 阅读 · 0 评论 -
Django_re_path_使用正则匹配url
与path定义的路由相比,re_path 定义的路由可以使用正则表达式匹配url。定义个简单视图如下:return HttpResponse("test1正则匹配值为:%s" % re_result)return HttpResponse("test2正则匹配值为:%s" % active_id)使用re_path定义个路由# 定义命名空间re_path("1/(.*)", views.test_1), # 不定义匹配结果变量名。原创 2023-07-09 15:31:53 · 1187 阅读 · 0 评论 -
Django_静态资源配置和ajax(九)
密码:用户名:原创 2023-07-09 15:30:41 · 1312 阅读 · 0 评论 -
Django_视图中的request对象详解(八)
key的值是input标签中name属性的值,value的值是一个UploadedFile对象。当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并创建一个包含请求元数据的 HttpRequest 对象 传入该函数的第一个参数,常用request表示。返回一个 querydict ,该对象包含了所有的HTTP POST参数,通过表单上传的所有 字符 都会保存在该属性中。是一个类似于Python中字典的一种对象,他是Python中字典的子类,所以继承了字典的所有方法,原创 2023-07-09 15:28:17 · 1165 阅读 · 0 评论 -
Django_模型类详解(七)
当前选择的数据库支持字段的类型渲染管理表单时使用的默认html控件在管理站点最低限度的验证django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key。注意:pk是主键的别名,若主键名为id2,那么pk是id2的别名。不能是python的保留关键字。不允许使用连续的下划线,这是由django的查询方式决定的。原创 2023-07-09 15:23:34 · 864 阅读 · 0 评论 -
Django_测试模块(六)
在终端执行命令默认使用的是项目的配置,如果测试的时候需要修改配置,比如,上面测试域名白名单的用例就需要在 test1/settings.py 配置文件中的 ALLOWED_HOSTS 增加 django.test.com 配置,这种直接修改项目配置的操作风险是很大的,因此,我们需要使用 Django 测试运行器来规避这个问题。未来,我们的应用可能会出现其他的问题,但是我们可以肯定的是,一定不会再次出现这个 bug,因为只要运行一遍测试,就会立刻收到警告。在我们的第一个测试中,我们关注代码的内部行为。原创 2023-07-07 16:48:30 · 1662 阅读 · 0 评论 -
Django_类视图(五)
导入类视图基类"""注册的类视图""""""get请求调用方法"""return render(request, "register.html", {'msg': '类视图被调用'})"""postq请求调用方法"""# 获取请求参数# 校验参数合法性return render(request, 'register.html', {'msg': '数据不完整'})return render(request, 'register.html', {'msg': '邮箱格式错误'})原创 2023-07-07 16:45:22 · 1049 阅读 · 0 评论 -
Django_模板(四)
如何向请求者返回一个漂亮的页面呢?肯定需要用到html、css,如果想要更炫的效果还要加入js,问题来了,这么一堆字段串全都写到视图中,作为HttpResponse()的参数吗?这样定义就太麻烦了吧,因为定义字符串是不会出任何效果和错误的,如果有一个专门定义前端页面的地方就好了。解决问题的技术来了:模板。在Django中,将前端的内容定义在模板中,然后再把模板交给视图调用,各种漂亮、炫酷的效果就出现了。原创 2023-07-07 16:42:08 · 1126 阅读 · 0 评论 -
Django_MVT(二)
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。Django中的MVT遵守 MVC执行流程。MVT即模型-模版-视图模式,其标准名称是有争议的。在MVC的解释中,视图描述了展现给用户的数据,是指所看到的数据,而不是如何看见它。在python中视图是指对某一特定URL的回调函数,因为回调函数描述了所要展现的数据。原创 2023-07-07 16:36:10 · 2333 阅读 · 0 评论 -
Django_环境配置(一)
应用创建成功后,需要注册才可以使用,也就是建立应用和项目之间的关联,在test1/settings.py中INSTALLED_APPS下添加应用的名称就可以完成注册。Django默认使用的sqlite3,使用mysql数据库需要修改./test1/settings.py文件中的DATABASES参数。上面是一个最简单的视图,要想访问该视图,我们需要为视图配置路由。上面只是配置好了应用的url配置,还需要在项目中进行url配置。原创 2023-07-07 16:31:12 · 1321 阅读 · 0 评论