加载中...
标签详情
django 分类
  文章标签
排序 197 算法 1 django 64 npm 2 Artifactory 2 Docker 2 CI/CD 4 认证 2 MongoDB 2 mongosh 2 权限 2 系统集合 1 版本兼容 1 环境配置 1 时区 1 date-fns 1 前端 1 Vite 1 JavaScript 5 缓存 1 依赖管理 1 Helm 1 Jenkins 2 DNS 1 Passenger 1 性能 1 故障排查 3 Rails 5 Postfix 2 SMTP 1 邮件 3 竞态条件 1 Ruby 1 ActionMailer 2 数据治理 1 OOM 1 内存 1 性能调优 1 Linux 8 配置管理 1 磁盘清理 1 日志 1 运维 2 Shell 4 超时 1 任务调度 1 源码分析 1 logrotate 1 cron 1 Rancher 1 Kubernetes 1 SSH 2 公钥认证 2 Hexo 6 markdown 4 PostgreSQL 1 数据库 19 热搜榜 1 widget 1 media 1 递归 46 字符串 423 动态规划 335 数组 855 哈希表 303 数学 306 设计 93 字典树 33 数据流 14 树 167 深度优先搜索 213 二叉树 151 广度优先搜索 177 二分查找 146 后缀数组 3 滑动窗口 56 哈希函数 16 滚动哈希 10 矩阵 141 前缀和 58 交互 5 栈 110 回溯 85 贪心 163 双指针 131 位运算 122 状态压缩 26 树状数组 14 线段树 19 堆(优先队列) 82 图 71 双连通分量 1 链表 77 拓扑排序 19 数论 7 最短路 10 二叉搜索树 43 字符串匹配 13 记忆化搜索 30 博弈 18 队列 22 单调队列 6 几何 24 组合数学 13 概率与统计 8 并查集 48 最小生成树 2 强连通分量 2 随机化 14 单调栈 34 分治 44 枚举 22 有序集合 29 扫描线 4 桶排序 8 基数排序 2 计数 55 模拟 63 归并排序 8 欧拉回路 2 双向链表 9 脑筋急转弯 9 Java 17 Google 1 整洁代码 1 重构 1 测试 1 python 1 scrapy 1 面向对象编程 2 设计原则 1 CPU缓存 1 多线程 6 计数排序 5 快速选择 8 迭代器 6 水塘抽样 4 拒绝采样 2 Git 1 设计模式 14 GitLab CI 1 DevOps 1 Typora 1 Markdown 1 Vue 1
Django综合篇之网站地图sitemap
功能网站地图是根据网站的结构、框架、内容,生成的导航网页,是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指路,增加网站内容页面的收录概率。网站地图一般存放在域名根目录下并命名为sitemap一个典型的sitemap,其内容片段如下: 该 XML 文件并未包含任何关联的样式信息。文档树显示如下。 <urlset> <url> <loc>http://example.com/blog/read/?blo…
2020-12-08
Django综合篇之celery4 定时任务的实现新闻热榜
环境配置系统:Ubuntu系统编辑器:PycharmPython版本:python3.6(自带celery4.3.0)第三方包依赖: django3.0.8 本文简介这篇文章主要介绍了celery4+django3定时任务的实现, 用于定时获取热门网站的榜单,组成一个新闻聚合网站 网上有很多celery + django实现定时任务的教程,不过它们大多数是基于djcelery + celery3的; 或者是使用django_celery_beat配置较为繁琐的。 显然简洁而高效才是我们最终的追求…
2020-12-01
Django综合篇之django-haystack配置详解过程
前言django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。 搜索引擎使用whoosh,是一个纯python实现的全文搜索引擎,小巧简单。 中文搜索需要进行中文分词,使用jieba。 直接在django项目中使用whoosh需要关注一些基础细节问题,而通过haystack这一搜索框架,可以方便地在django中直接添加搜索功能,无需关注索引建立、搜索解析等细节问题。 haystack支持多种搜索引擎,不仅仅是whoosh,使用solr、elast…
2020-11-29
Django视频网站搭建--step07收藏与点赞功能
#收藏与点赞功能本节讲一下个人菜单中另外两个比较重要的功能,“我的收藏”与“我的喜欢”。通过学习这两个功能,我们会加深对django中通用视图类的理解与应用。 ##我的收藏###模型上一节已经实现这个模型了我的收藏、我的喜欢,都是与我关联,又因为,我可以收藏多个视频,视频也可以被多个用户收藏,所以用户与视频是属于多对多的关系。所以我们在video模型上添加两个字段liked和collected,分别对应我喜欢和我收藏。 # video/models.py class Video(models.M…
2020-11-17
Django视频网站搭建--step3首页功能
#首页功能在本讲中,我们开始首页功能的开发,在开发过程中,学习到Django中的通用视图类、分页对象paginator以及foreignKey外键的使用。 首页拆解为4个小的业务模块来开发,分别是:列表显示、分页功能、搜索功能、分类功能。 下面我们分别对这四个功能模块进行开发讲解。开发思路 开发一个功能的基本思路是:先新建应用,然后分析功能涉及到哪些业务,从而分析出需要的数据库字段,然后编写模型,之后就是展示阶段,通过url路由配置视图函数,来将模型里面的数据显示出来。 ok,我们通过命令建立应…
2020-11-17
Django视频网站搭建--step5详情页面开发
#详情页面开发在本讲中,我们开始详情页功能的开发. 详情页就是对单个视频进行播放并展示视频的相关信息,比如视频标题、描述、评论信息、相关推荐等。 我们将会学习到通用视图类DetailView的使用、评论动态加载、以及如何通过ajax实现喜欢和收藏功能,并通过一段段很酷的代码来说明这些功能。 #整体功能 1.详情页功能。 2.对单个视频进行展示,包括标题、描述、观看次数 3.点赞和收藏功能。 4.评论功能,通过上拉网页即可分页加载评论列表,用户还能添加评论。 5.侧栏推荐视频列表,推荐逻辑为推荐观…
2020-11-17
Django视频网站搭建--step06个人中心功能
#个人中心功能从本讲起,我们开始个人中心功能的开发。个人中心里面包括以下几个部分 个人资料 修改密码 订阅设置 意见反馈 通过这部分的开发,我们将会接触到更多django的用法。 ##整体功能 个人中心模块是对用户的信息进行展示并可以编辑。 其中个人资料、修改密码、订阅设置是对用户信息的编辑,反馈建议是属于创建新数据。##个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息, 然后用户即可对其进行修改并保存,对于编辑功能,django有自己的解决方案, 即通过通用视图类UpdateVie…
2020-11-17
Django综合篇之添加xadmin功能
#添加xadmin功能 django2.0,以及django3.0直接使用xadmin功能已经不太友好了如果直接使用pip的方式安装 django-xadmin会遇到很多错误的坑这里使用一个新的方式添加xadmin功能##下载文件在这里https://gitee.com/voldemort/xadmin-django3/tree/master 我们需要的xadmin内容 下载之后只使用xadmin这个文件夹将整个文件夹复制 然后在自己的项目文件夹下新建文件夹 extra_apps,然后xadmi…
2020-09-17
Django视频网站搭建--step16后台邮件管理
#邮件管理功能 订阅功能已经实现了:当用户订阅开启订阅功能后,网站会通过后台给用户发送网站最新的一些动向。但是有时候需要关闭推送功能,比如网站邮件做一些调整之类的。 因此需要灵活的设置发送邮件功能。 本节来实现这个功能###路由设置 我们先来写订阅推送的路由, # -----------------------设置---------------------------- path('setting/<int:pk>/', views.SettingView.as_view(), name='se…
2020-08-28
Django视频网站搭建--step15数据总览功能
#数据总览功能数据总览功能,是对网站中产生的数据进行一个统计,统计出视频数、发布数、用户数、评论数,等等。让管理者对网站数据有一个清晰的认识,做到心中有数。 在本站中,笔者一共列举了下面几种数据:视频数、发布中未发布、用户数、用户新增、评论数、评论新增,等几项内容。 我们把所有的数据都封装到了一个函数里面,即 IndexView 它位于后台管理的首页。##路由设置 path('', views.IndexView.as_view(), name='index'), ##视图设置通过IndexVi…
2020-08-28
Django视频网站搭建--step14后台反馈功能
#后天反馈功能用户反馈管理功能,是对前端用户反馈的问题进行展示,并可实现删除功能。 它可以实时的跟踪到用户对网站的各种意见和吐槽,开发者能及时修缮网站功能或者修改网站bug。 ##路由设置反馈管理包括反馈列表和反馈删除,它们的路由是 path('feedback_list/', views.FeedbackListView.as_view(), name='feedback_list'), path('feedback_delete/', views.feedback_delete, name=…
2020-08-28
Django视频网站搭建--step13后台订阅推送功能
#订阅邮件推送功能本讲我们会讲到一些关于发邮件的技术。 订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的。 当你阅读完本节内容,会对发邮件的流程有一个大概的了解。 配置相关参数发送邮件是需要配置相关参数的,且每个邮件服务商都有自己的配置值,笔者使用的是163邮箱,在settings.py追加如下配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 邮…
2020-08-28
Django视频网站搭建--step11后台评论功能
#后台评论功能本讲中来讲评论管理功能,数据库中的每一条是来自用户的评价, 因此后台中的评论管理只有评论列表和评论删除功能,没有增加评论和编辑评论。##路由设置照例我们先添加评论管理的相关路由 # myadmin/urls.py # ----------------------评论管理---------------------------- path('comment_list/', views.CommentListView.as_view(), name='comment_list'), pa…
2020-08-27
Django视频网站搭建--step09后台视频管理功能
#后台视频管理功能从本讲开始,我们开始视频管理功能的开发,视频管理包括 视频上传 视频列表 视频编辑 视频删除 这一讲非常重要,因为将学习到一些之前没有学过的技术,比如大文件上传技术。##视频上传 我们先来实现视频的上传,视频的上传采用的是分块上传的策略,并用了分块上传类库:django_chunked_upload,使用该类库,再配合前端上传js库(jquery.fileupload.js),即可完美的实现文件的分块上传功能。###路由设置照例先编写添加视频的路由 添加视频,当然需要上传视频的…
2020-08-27
Django视频网站搭建--step10后台视频分类功能
#视频分类视频分类的功能,主要包括以下内容 分类列表 添加分类 修改分类 删除分类 分类管理功能包括分类的增删改查。###路由设置增删改查的路由是 path('classification_add/', views.ClassificationAddView.as_view(), name='classification_add'), path('classification_list/', views.ClassificationListView.as_view(), name='classi…
2020-08-27
Django视频网站搭建--step08后台登录
#后台登录功能从本讲起,我们会介绍后台管理系统的开发,后台管理 主要是对数据库中的数据进行增、删、改、查的操作,满足网站管理员对网站的管理与维护的需求。 其实,django自带的也有一个后台管理系统(&#x2F;admin),但是自带的后台非常简陋, 无论是界面,还是功能上,都无法满足用户的需求,因此,需要自己开发了一套后台管理系统。##创建新的app后台管理属于一个单独的模块,我们创建一个新的应用,命名为myadmin scriptpython3 manage.py startapp myad…
2020-08-25
Django视频网站搭建--step4前端页面整合
#前端页面整合在本讲中,我们开始前端页面整合 在开发过程中,前端页面也很重要,本次内容简单的对前面三节内容的前端页面做一个简单的整合 尘归尘,土归土,内容整理之后会讲内容看的更加清晰 基础页面基础页面包括,header base footer三个部分 base页面所有的页面都起始于这个页面 &#123;% load static %&#125; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UT…
2020-08-22
Django视频网站搭建--step2注册登录功能
#注册登录功能 用户注册登录是一个网站的基本功能,django对这部分进行了很好的封装, 我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果。 在本讲中,我们会用到user中的用户授权方面的一些函数,还会对django中的user进行扩展,以及django中的form验证。 #创建users应用 django的设计哲学是,一个应用只提供一种功能,比如users应用只提供用户相关功能,comment应用只提供评论相关功能, 这能提高代码的重复利用率。 在django中,只需要下…
2020-08-21
Django综合篇之自定义Command生成初始数据
#Django–自定义 Command 命令Django 对于命令的添加有一套规范,你可以为每个app 指定命令。 通俗一点讲,比如在使用manage.py文件执行命令的时候,可以自定制自己的命令,来实现命令的扩充。 ##commands的创建 1.在app内创建一个management的python目录 2.在management目录里面创建commands的python文件夹 3.在commands文件夹下创建任意py文件 此时py文件名就是你的自定制命令,可以使用下面方式执行 script…
2020-08-17
Django博客网站搭建--38.模板过滤器和标签
现在我们已经很熟悉Django的MTV模式了。模板(template)负责如何去展示数据,而视图(view)负责筛选出正确的数据。因此通常来说逻辑都是放到视图中的,但模板也需要一些和表示相关的逻辑:比如循环展示(如&#123;% for ... %&#125;)、或者以某种特定格式输出(如&#123;&#123; ...|date:'Y-m-d' &#125;&#125;)等,这些功能都是靠模板的**过滤器(filters)和标签(tags)**实现的。 Django的模板语言包含了很多内置的过…
2020-08-16
Django博客网站搭建--32.多级评论
现在我们的博客已经具有评论功能了。随着文章的评论者越来越多,有的时候评论者之间也需要交流,甚至部分评论还能合并成一个小的整体。因此最好是有某种方法可以将相关的评论聚集到一起,这时候多级评论就非常的有用了。 多级评论意味着你需要将模型重新组织为树形结构。“树根”是一级评论,而众多“树叶”则是次级评论。本教程会以第三方库django-mptt为基础,开发多级评论功能。 django-mptt模块包含了树形数据结构以及查询、修改树形数据的众多方法。 任何需要树形结构的地方,都可以用 django-mp…
2020-08-14
Django博客网站搭建--17.拓展用户信息
可能你已经发现了,Django自带的User模型非常实用,以至于我们没有写用户管理相关的任何模型。 但是自带的User毕竟可用的字段较少。比方说非常重要的电话号码、头像等都没有。解决的方法有很多,你可以不使用User,自己从零写用户模型;也可以对User模型进行扩展。 博客网站的用户信息并不复杂,因此扩展User就足够了。 扩展User模型扩展User模型又有不同的方法。在大多数情况下,使用模型一对一链接的方法是比较适合的。 编写userprofile/models.py如下: userprof…
2020-08-11
Django博客网站搭建--05.View视图初探
数据库虽然已经有了,但是用户通常只需要这个庞大数据库中的很小一部分进行查看、修改等操作。为此还需要代码来恰当的取出并展示数据,这一部分代码就被称为视图。 Django 中视图的概念是**「一类具有相同功能和模板的网页的集合」**。比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页:展示最近的几项内容。 内容“详情”页:详细展示某项内容。 评论处理器:用于响应为一项内容添加评论的操作。 这些需求都靠**视图(View)**来完成。 Hello World!首先写一个最简单的视图函数,在浏…
2020-08-10
Django博客网站搭建--02.教程的开发环境
教程的开发环境本教程的开发环境为: Win 10(64位) Python 3.7.0 Django 3.0.8 为了避免开发环境不同而导致的错误,建议读者使用相同的版本。 安装Pythonpython的安装为比较简单,首先找到Python官方网站,选择python3.7的windows版本,下载并安装。 **安装时注意勾选添加python到环境变量中。**如果没有或者漏掉这一步,请安装完毕后自行添加。 若实在不知道怎么弄的,看这篇文章: windows上安装python3教程以及环境变量配置 安…
2020-08-10
Django博客网站搭建--01.前言
Django 是一个由 Python 写成的开源Web应用框架,可以用它以更高的效率、更少的代码,搭建一个高性能的个人网站。 如果你以前从未接触过 web 开发,并且想快速上线自己的个性化网站,Django 绝对是你的最佳选择。 本教程为零基础的小白准备,教你快速搭建一个自己的博客网站。 教程特点 零基础、免费、中文、完整项目代码 基于Python 3.6、Django 3.0.8 Bootstrap 4 漂亮的前端界面 适合人群 拥有一台能开机的电脑 有一点基础的 python 编程知识 每天…
2020-08-10
Django视频网站搭建--step1创建工程
#基于django的视频点播网站开发##项目介绍本文将会对该项目进行一个简单的介绍,包括项目名称、项目背景、项目功能、技术栈等等。 项目名称: 基于django的视频点播网站开发 ###项目背景 视频点播网站,搭建一个视频点播网站,练习学习一下django技术,学以致用。项目功能 ###项目功能本项目分为前台和后台 前台功能 视频列表展示 视频播放详情 详情评论 个人中心 后台功能 视频管理 评论管理 用户管理 反馈管理 本讲中,主要搭建开发环境。我们会依次安装python、pip、django…
2020-08-05
Django博客网站搭建--03.创建app
创建APP**在Django中的一个app代表一个功能模块。**开发者可以将不同功能的模块放在不同的app中, 方便代码的复用。app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相关的功能模块。 打开命令行,进入项目所在的目录:(注意Django的操作必须在虚拟环境下进行) E:\>cd django_project E:\django_project> 进入虚拟环境(忘记进入venv方法的看这里: 在Windows中搭建Django的开发环境): E:\django_…
2020-06-18
Django博客网站搭建--06.View及Template
改写视图函数上一章我们感受了视图的工作流程。 **为了让视图真正发挥作用,**改写article/views.py中的article_list视图函数: article/views.py from django.shortcuts import render # 导入数据模型ArticlePost from .models import ArticlePost def article_list(request): # 取出所有博客文章 articles = ArticlePost.objects…
2020-06-18
Django博客网站搭建--07.使用Bootstrap改写模板
注意:学本章之前请检查 Django 版本,确保安装的是 Django 2 而不是 Django 3,否则后面所有的章节都会遇到 staticfiles 无法载入的错误。 在虚拟环境中输入 pip list 即可查看。 上一章我们的网站页面实在太粗糙,你肯定不会拿来做真正的博客首页。因此这章我们要借助Bootstrap的力量,改写一个大气的博客。 配置Bootstrap 4Bootstrap是用于网站开发的开源前端框架(“前端”指的是展现给最终用户的界面),它提供字体排印、窗体、按钮、导航及其他…
2020-06-18