![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django笔记
向东的笔记本
投其所好,终有所成!
展开
-
Django笔记01:什么是对象关系映射(ORM)?
Django是一种无需数据库就能使用的高效Web开发框架,因为它使用了对象关系映射器,通过此技术,你可以使用强大的 数据-模型语句 来描述你的数据模型,这解决了数年以来在数据库模式中的难题。那什么是对象关系映射呢?它有什么作用呢?一:概念对象关系映射器(Object Realtion Mapping)是一种代码库,它能自动将存储在关系型数据库表中的数据转化成在应用程序代码中更加常用的对象。...原创 2019-01-22 11:27:03 · 624 阅读 · 0 评论 -
使用Supervisor守护Uwsgi进程,为你的Django网站保驾护航
1.了解SupervisorSupervisor是一款运行在类Unix系统(如Linux、MacOS系统)上的进程管理软件,基于Python开发。通过它我们可以很方便的管理服务器上的各种程序的进程,包括今天要讲的用supervisor管理uwsgi进程。有了它,我们再也不用担心由于uwsgi进程莫名被"死掉"而引起的Django网站打不开的情况了。由于我也是第一次用它,所以折腾了老半天才搞好,...原创 2019-05-08 14:52:44 · 4217 阅读 · 4 评论 -
(超详细)Django线上部署教程:腾讯云+Ubuntu+Django2.0+Python3.6+Git+Nginx+Uwsgi+Filezilla+HTTPS
终于将Django成功部署到了腾讯云上,也实现了HTTPS的功能。现将步骤方法,部署环境一一列举如下,方便日后查看。1.部署环境与工具腾讯云Ubuntu Server 16.04.1 LTS 64位Django2.0.8python3.6.7GitNginx1.10.3UwsgiFilezilla其中Filezilla是用来向服务器上传文件的,之前我一直尝试给Ubunt...原创 2019-04-17 13:54:40 · 643 阅读 · 0 评论 -
Django笔记11:路由配置详解
配置网站的URL可以说是我们用Django进行网站开发的第一步,Django的路由设置也由原来的1.0版本的正则表达式配置变成了现在2.0版本的路径配置方式,我个人是很喜欢路径配置的方式的,因为这种方式看起来很简洁。接下来我就对路径、正则表达式这两种方式的配置规则做一下整理。1.路径配置首先需要在项目或者APP的urls.py中导入path和views,需要注意的是仅仅在APP下定义URL...原创 2019-03-23 19:17:24 · 704 阅读 · 0 评论 -
Django笔记10:用local()代替视图函数中render的字典参数,简便又好用!
在Django APP的views.py中编写视图函数的时候,我们常常会用到render来将数据渲染到模板中,以便能够在浏览器中呈现出来。render常用的参数有三个,一个是固定的request,第二个是需要被渲染的模板,第三个是需要被传递的数据,该数据默认是字典形式。1.举例说明如下是一个用于返回图书列表的视图函数,该函数将从Book表中获取所有图书记录数据并赋给books变量,然后bo...原创 2019-03-18 09:23:48 · 2855 阅读 · 0 评论 -
Django笔记09:一招解决使用regroup模板标签出现的重复分组问题
本站的文章分类目录页面是由Django的模板标签regroup实现的,使用regroup可以很方便的对文章进行各种形式的分组显示,比如按文章发布时间来显示文章归档页,按文章分类来显示分类目录页,按标签来显示标签大全页,但是今天遇到了一个特别让人迷离的问题:重复分组问题!1.问题再现下面是我写的分类目录页面的代码,使用了“标准”的regroup模板标签语法,代码要实现的功能是按照文章分类目录...原创 2019-03-08 21:38:23 · 542 阅读 · 1 评论 -
Django笔记08:使用模板过滤器slice控制字符的显示长度
有时我们需要控制前端页面某些字符的显示长度,比如首页中的文章标题,由于有些标题比较长,如果在文章列表页换行显示的话太不美观,因此就需要对标题的长度进行控制。Django的模板中含有很多过滤器,可以对字符做各种各样的转换,今天就用slice对字符的长度进行一个控制。{{ post.title | slice:":50" }}在需要进行控制的变量后面加一个管道符号:"|",冒号里面的控制规则...原创 2019-03-08 21:36:14 · 4595 阅读 · 0 评论 -
Django笔记07:怎样在Linux服务器重启Gunicorn
今天在本地环境下对文章列表页的摘要信息做了些小更改,但是通过Git同步到服务器上的时候却没有显示任何变化。这是为什么呢?我尝试了以下办法,最终得以解决!1.查看网站源码Git同步成功之后,我首先在宝塔后台查看了网站源码,确定已经同步成功了。2.清除浏览器缓存确定网站源码没有问题之后,我想到了可能是浏览器缓存的问题,于是在MacOS系统下用Command+Shift+R快捷键对页面进行了...原创 2019-03-08 21:33:01 · 526 阅读 · 1 评论 -
Django笔记06:修改了css文件之后却无法生效的解决办法
将Django部署到服务器之后,每一次在本地端对网站的修改都需要在服务端进行同步,在写本文之前,我还以为只是把源码保持同步就可以了,没想到却遇到了今天的问题。修改了main.css文件之后,然后我通过git对网站进行了同步,代码已经成功同步到了服务器上。但就是无法正常显示,经一番查找探究之后,我发现了修改css等静态文件的正确姿势…1.配置文件首先应该改确保你项目下的settings.p...原创 2019-03-08 21:31:32 · 4493 阅读 · 0 评论 -
Django笔记05:如何悄悄删除migrations下的文件而不引起任何错误
当进行Django开发操作数据库的时候,我们每一次的修改都会以文件的形式记录在APP目录的migrations文件夹下,但是随着文件越来越多,这并不利于我们后期的维护,所以我们需要定期清理(重置)一下migrations文件夹,这篇文章将优雅地告诉你如何如何悄悄删除migrations下的文件而不引起任何错误!1.不考虑数据表的情况首先删除数据库中的相关APP下的数据表 然后删除APP下...原创 2019-01-22 11:29:47 · 6885 阅读 · 3 评论 -
Django笔记04:ORM模型类的更改与删除
当我们需要添加一个模型类或者修改模型类中的字段信息的时候,需要进行怎样的操作才能成功呢?没错,我们需要依次运行下面两个命令:# 创建要修改的内容文件python manage.py makemigrations# 执行修改python manage.py migrate通过上面这两个命令我们就可以将模型类的创建和修改生效到数据库中,那么你有没有想过当我们依次执行这两个命令的时候,...原创 2019-01-22 11:29:13 · 1931 阅读 · 0 评论 -
Django笔记03:ORM中的元数据Meta
在每个模型类的里面我们还可以定义一个子类Meta,这个子类可以定义一些有关数据库或者数据表的相关信息,这些相关信息我们称之为元数据,利用这些元数据的定义,我们可以定义数据库的名称等信息。那么常用的元素据还有哪些呢?1.定义数据库的表名每一个Django模型类都会定义一个数据表,数据表的表明默认是用下划线_链接的APP的名字和模型类的名字,比如你定义了一个blog的APP,在blogAPP中...原创 2019-01-22 11:28:31 · 850 阅读 · 0 评论 -
Django笔记02:ORM中常用字段类型与参数
在ORM中一个模型类对应的是数据库中的一张表,对象对应的是数据库中的记录,属性则对应的是字段。此篇为章主要整理的是常用的字段类型和对应的参数。字段类型1.自增长字段# 自增长id = models.AutoField(primary_key=True) # 系统会默认添加此字段,无需用户自己特地添加id = models.BigAutoField()自增长字段的意思是,数...原创 2019-01-22 11:27:56 · 1164 阅读 · 0 评论 -
Django源码01:过滤HTML标签的strip_tags函数是如何实现的?
Django中有一个可以过滤HTML标签的函数,名为strip_tags,它位于的django.utils.html中,使用它可以完成一些特殊的字符串处理任务。好奇的我想知道它是如何实现的,于是打开了对应的Django源码文件,打算一探究竟。使用Pycharm直接定位到函数位置,我们可以看到strip_tags这个函数是这样定义的:@keep_lazy_textdef strip_tags(v...原创 2019-05-13 09:03:45 · 1098 阅读 · 0 评论