1 安装django,在安装前确保python已经安装,ubuntu中默认有安装的。...我们只需要安装django即可,解压django压缩文件,进入解压后的文件夹,运行,python setup.py install即可安装django到python中。...django服务器,命令如下 root@ubuntu118:/home/python/work/mysite# python manage.py runserver 然后到ubuntu中浏览器输入http...:8000 接着在任意电脑上运行http://192.168.0.118:8000,这里的ip为运行django服务器的ubuntu电脑ip。...setting.py中,在INSTALLED_APPS 中增加'mysite.blog' 然后就可以编辑自己的模板了,编辑models.py文件如下: from django.db import models
所有操作均在bash终端中进行 使用Ctrl + Alt + T打开 安装mysql sudo apt install mysql-server 查看mysql运行状态, 启动和停止 sudo service...mysql status sudo service mysql start sudo service mysql stop 连接和退出mysql mysql -h host -u user -p quit...; exit; 创建数据库 sql语句不区分大小写 mysql> create database name; 选择已创建的数据库, 并创建表 mysql> use database_name; mysql...' and sex='1'; mysql> select * from stu_info where name = 'devecor2' or sex='1'; 查看指定列 mysql> select...; 删 清空表 mysql> delete from stu_info; 给定条件删除 mysql> delete from stu_info where name = 'devecor'; 改 mysql
request.args # get 请求参数 request.form # form 表单参数 request.filse # 文件长传 request.data # post body里的参数
1.安装mysql客户端流程: - 登录navicat官网下载 - 将压缩包拷贝ubuntu中进行解压,解压命令:tar zxvf navicat.tar.gz - 进入解压目录,运行命令...常用操作请查看我的另一篇随记): - 再次执行第三步操作即可,试用到期可再次删除那个隐藏文件 2.ubuntu下安装mysql服务端 - sudo apt-get install mysql-server...聚合函数 - 作用:对多条数据做统计功能 - 注意:在使用聚合函数后,select后不允许出现其他列,除非这些列包含在分组中或者聚合函数中 - 20.1 常用聚合函数 - 20.2 聚合函数与...- 24.1 内连接:选择两种表中交叉的数据进行返回 - 24.2 左连接:选择左表全部数据以及右边中和左表相同的数据 - 24.3 右连接:选择右表全部数据以及左表中和右表相同的数据 -...col1,col2,col3 from table) as t - 26.1 子查询分类 - 独立子查询: - 子查询可以独立运行 - 相关子查询: - 子查询中引用了父查询的结果或者父查询中引用了子查询的结果
本文链接:https://blog.csdn.net/weixin_43908900/article/details/94892086 Django中的url与视图详解(2) url命名: 因为url...如果在代码中写死可能会经常改代码。给url取个名字,以后使用url的时候就使用他的名字进行反转就可以了,就不需要写死url了。...,因为在现实环境中,一个项目不能是一个人完成的,为了避免在反转的时候出现混淆,我们需要在APP中指定应用命名,例如: # 应用命名空间 app_name = 'front' urlpatterns =...request.resolver_match.namespace return redirect(reverse("%s:login"%current_namespace)) 应用命名空间与实例命名空间...re_path相关操作: 注意点:写正则表达式是使用标志性的原生字符串·“r”开头,在正则表达式中定义变量,需要使用圆括号括起来。这个参数是有名字的,那么需要使用?P的名字>。
本文链接:https://blog.csdn.net/weixin_43908900/article/details/94463842 Django中的url与视图详解(1) 这是Django的第一部分...:关于url跟视图的相关知识,下面请看操作: url映射: 映射是Django的原生功能,因为在settings.py中配置了ROOT_URLCONF为urls.py。...所有django会去urls.py中寻找。 我们所有的映射都要放在urlpatterns这个变量中,不要问为什么,因为我也不知道。...映射的前提是需要使用path与re_path函数,区别是,后者比前者多了一个功能:使用正则法则,后面会详细说这一点。...然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找不到这个参数。另外,url中可以传递多个参数。
安装django-allauth与基本使用 pip install django-allauth 安装完成后在settings.py中将allauth相关的app注册到INSTALLED_APP里面去...,值得注意的是allauth对于站点设置django.contrib.sites有依赖,所以也需要将它注册进去,同时设置SITE_ID。...admin/', admin.site.urls), # 注册allauth path('accounts/', include('allauth.urls')), ] 然后使用命令行中输入...图片 图片 下面是django_allauth所有内置的URLs,均可以访问的。...因为每个开发者对用户所需提供的额外信息需求都不是一样的,所以django-allauth没有提供这个视图和URL,需要我们自己写。
Django中的url与视图详解(3) 可能你学习到这里,感觉好乱,所将的知识点没有一丝的关联,这个是没有办法的,Django与Flask有所不同的,Django是结构化的,每个模块都有知识点,我们只有先了解...reverse函数(反转): 如果在反转url的时候,需要添加参数,那么可以传递kwargs参数到revers函数中。...在类中定义一个属性regex,这个属性是用来限制URL转换器规则的正则表达式。 实现to_python(self,value)方法,这个方法是将URL中的值转换一下,然后传给视图函数的。...将定义好的转换器,使用django.urls.converters.register_converter方法注册到Django中。...而如果访问blog/1的时候,因为在传递参数的时候传递了num,因此会匹配到第二个URL,这时候也会执行views.page,然后把传递进来的参数传给page函数中的num。
render_to_response("index.html",{"username/ /":username}) 删除session: del req.session['username'] 以上所述是小编给大家介绍的Django...中的cookie与session操作实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。...在此也非常感谢大家对网站的支持!
Django中与时区相关的安全问题 phithon 2020 十月 11 17:53 阅读...本文就从多个常用模块开始,了解一下Django中的时区究竟是怎么回事,以及在时间的比较中可能出现的一些逻辑错误。...Django的配置项中,有下面两个选项与时区相关: USE_TZ TIME_ZONE USE_TZ用来指定整个项目是否使用时区,TIME_ZONE是默认时区的值。...此时,在网站内部存储与使用的是UTC时间,而与用户交互时使用TIME_ZONE或手工的时区。 我们后文中也以Django的默认配置USE_TZ=True为前提条件,否则也没有讨论的必要了。...这一部分的转换,Django放在的模板引擎中。
MySQL事务中的 Redo 与 Undo 日志 好了,事务相关最后一个知识点,就是剩下的 Redo 和 Undo 日志相关的内容了。...这个在之前的文章 MySQL事务特性与自动提交https://mp.weixin.qq.com/s/SnLqdIPl2aMYIDjXX8uHvg 中就有学习过,不记得的小伙伴可以回去复习一下。...速度快,但不持久,然而,Redo Log 就可以做为内存与磁盘的中间介质,当需要将数据从内存刷盘到硬盘上时,可以起到降低刷盘频率,提升性能的作用。...之后才会根据系统设置定期将内存中修改的真实数据刷新到磁盘 在这个过程中,MySQL 使用的是一种叫做,WAL 的技术,Write-Ahead Logging,说人话就是不管干嘛,都要先写日志,再刷磁盘...好了,事务相关的学习先告一段落,核心的 MySQL 理论知识也告一段落。
select * from user where exists (select 1); 对user表的记录逐条取出,由于子条件中的select 1永远能返回记录行,那么user表的所有记录都将被加入结果集...,所以与select * from user;是一样的。...使用了t2(B)表索引 三、结论 MySQL中的in语句是把外表和内表作join连接,而exists语句是对外表作nest loop循环,每次loop循环再对内表进行查询。...最后,我们来看看《高性能MySQL》这边经典的MySQL书籍对in和exists有什么见解。 ?...《高性能MySQL》书籍上对于in和exists的描述 书上说,MySQL会把in的查询语句改成exists再去执行(实际上我们在没有索引情况下,他们的执行过程确实是一致的) 在《MySQL技术内幕:SQL
关于In与Exists的比较,先说结论,归纳出IN 和Exists的适用场景: 1)IN查询在内部表和外部表上都可以使用到索引。 2)Exists查询仅在内部表上可以使用到索引。...MySQL查询语句中的IN 和Exists 对比分析 使用exists时,t_author表全表扫描: ?...MySQL查询语句中的IN 和Exists 对比分析 在子查询结果集较小时,查询耗时主要表现在对t_author表的遍历上。...MySQL查询语句中的IN 和Exists 对比分析 使用exists时,数据量的变化没有带来执行计划的改变,但由于子查询结果集很大,5.5以后的MySQL版本在exists匹配查询结果时使用的是Block...---- 原文在MySQL查询语句中的IN 和Exists 对比分析
Django中的缓存系统Django提供了一个灵活而强大的缓存框架,可以与各种后端存储进行集成,包括内存缓存、数据库缓存、文件缓存等。...缓存失效与更新策略一项重要的考虑是缓存的失效与更新策略。尽管缓存可以显著提高性能,但如果不正确地管理缓存的失效和更新,就可能导致数据不一致或过期数据的问题。以下是一些常见的失效和更新策略:1....与本地内存缓存不同,分布式缓存可以在多个服务器之间共享缓存数据,从而进一步提高性能和扩展性。在Django中,可以使用诸如Memcached或Redis等分布式缓存后端。3....如果数据在任何缓存中都不存在,则从数据库中获取数据并将其存储到分布式缓存和本地内存缓存中,以备下次快速访问。高可用性与故障恢复在构建Web应用时,保证高可用性和故障恢复能力也是至关重要的。...基于用户行为的预热根据用户的实际行为和访问模式,可以动态调整缓存预热策略。例如,可以根据用户的访问频率和偏好,优先加载与用户相关的数据到缓存中,以提高用户体验和个性化推荐的效果。
最近公司的系统一点点的开始了拆分,从ORACLE 转移到 MYSQL 中,部分程序员的想法在使用MYSQL中还是没有转变过来,直接将ORALCE中的查询语句直接搬到了MYSQL。...这就直接抛出一个问题,就是MYSQL的查询技巧还重要吗?当然如果你还要用MYSQL 来进行数据库的提取和查询,那就必须重视MYSQL的查询技巧。...下面我们可以看看MYSQL 中的index merge 的功能到底能提升查询性能多少 1 我们先关闭index_merge 很明显,索引都白搭了 2 我们打开index_merge 明显看到,查询中使用...,后面其实我还做了一些其他的测试,例如将时间的范围扩大,发现目前的MYSQL 8.015 很聪明的走了应该走的索引,看了MYSQL8.0 这个版本的查询优化器要比MYSQL 5.7 进步不少。...(*) 这样经常被诟病的查询方式也在并行度中获益。
会基本MySQL数据库的建表的DDL和增删改查DML语法,当然用Django框架有专门的数据库模型类增删改查语法。...服务器 本站用的是腾讯云服务器,域名解析,操作系统为Linux系列的Ubuntu,HTTP和反向代理web服务器用的是Nginx。...的模板语言,与后端Django结合起来,成功与后端Django进行数据交互。...6.MySQL数据库 MySQL官网下载点此 本机操作系统是什么就选择什么版本的MySQL下载,在安装过程中记住数据库的账号和密码,后续Django与MySQL数据库进行连接配置需要这些信息。 ?...Django建设数据库模型类与MySQL联系起来,网站后台django-admin的使用与使用Simpleui美化后台管理系统。 Ajax如何实现阅读量统计。
2、开启防火墙 由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。...allow https sudo ufw allow OpenSSH 3、安装依赖项 在我们自己安装GitLab之前,安装一些在安装过程中持续使用的软件非常重要。...可以从Ubuntu的默认包存储库轻松安装所有必需的软件。...补充:时间是超级无敌长,由你的电脑配置决定。 sudo gitlab-ctl reconfigure 7、在浏览器中打开:http://127.0.0.1。...但是不建议在虚拟机中这么做,建议先获取虚拟机的 ip 地址,然后在自己的电脑上访问,比如我的 ip 地址为 192.168.2.105 ,可以这样访问: http://192.168.2.105 获取
如果需要ssh登陆到别的电脑,需要安装openssh-client,该程序ubuntu是默认安装的。 而如果需要从远程连接到本机,则需要安装openssh-server,该程序需要自己安装。...在Ubuntu下安装openssh-server非常简单。...Ubuntu中配置openssh-server开机自动启动 打开/etc/rc.local文件,在exit 0语句前加入: /etc/init.d/ssh start 关于客户端连接 客户端可以用putty...我常选择的客户端软件是putty。 关于ssh的加密 实际上ssh的使用远不止这些,ssh还有很重要的一部分内容,那就是ssh通过公钥私钥进行加密,例如git就可以采用加密ssh的方式访问。...关于ssh的加密这里暂不讨论,有机会再补充,可以查看相关资料了解。 相关链接 SSH原理与运用(二):远程操作与端口转发
一 MyISAM 1.1 MyISAM简介 MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的 ISAM (Indexed Sequential Access Method:有索引的顺序访问方法...不过,5.5版本之后,MySQL引入了InnoDB(另一种数据库引擎)。...与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能。...如果你的数据量很大(MyISAM支持压缩特性可以减少磁盘的空间占用),而且不需要支持事务时,MyISAM是最好的选择。 MySQL默认采用的是MyISAM。...) from table时,InnoDB要扫描一遍整个表来计算有多少行 锁 表锁 提供行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking
192.168.65.1' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'") mysql...variables like 'max_connect_errors'; 查看最大连接数 set global max_connect_errors = 1000; 修改max_connect_errors的值...> show variables like '%max_connect_errors%'; 解决方法2:使用mysqladmin flush-hosts 命令清理一下hosts文件 (1)在查找到的目录下使用命令修改