Django 笔记-1-从请求到响应

本文所用 Django 代码版本:2.1.3

本文中进行的分析并不局限于某一个 Django 版本但都会尽量讨论版本 2.0+

流程总览

Django 处理请求流程

概述:

Django 和其他 Web 框架的 HTTP 处理的流程大致相同:先通过 Request Middleware 对请求对象做定义处理,然后再通过默认的 URL 指向的方法,最后再通过 Response Middleware 对响应对象做自定义处理。

细则:

查看更多

MySQL 修改数据库名

首先,MySQL 没有直接更改数据库名称的命令;
其次,无论使用什么方法都要记得提前备份数据库。

注:RENAME DATABASE 这条命令在 MySQL 5.1.7 中被加入,但很快就被发现其所带来的危险,于是在 MySQL 5.1.23 中这条命令被移除。

推荐方案

假如现在我们想把数据库名由 ABC 更改为 EFG

我们可以在数据库外执行以下命令:

1
2
mysqladmin -u root -p create EFG
mysqldump ABC | mysql -u root -p EFG

查看更多

Erlang 程序设计笔记-第一部分

第一章:什么是并发

在本书中,我们讲学习如何将 并行 活动描述为相互通信的多组 并行 进程,并学习如何编写并发程序

在日常用语中,并发(concurrent)、同时(simultaneous)和并行(parallel)等词几乎表示同一个意思。但在编程语言中需要做更精确的区分。

如果只有一台单核的计算机,是无法在上面运行并行程序的。因为只有一个 CPU,而它一次只能做一件事。然而,可以在单核计算机上运行并发程序。计算机在不同任务之间分享时间,使人产生这些任务是并行运行的错觉。

1.1 给并发建模

我们将从一个简单的例子入手,为一种日常情景构建并发模型。设想我看见四个人出去散步,另外还有两条狗和一大群兔子。这些人正在相互交谈,而狗则想要追逐兔子。要在Erlang里模拟这些,需要编写四个模块,名字分别是person(人)、dog(狗)、rabbit(兔子)和world(世界)。person的代码会放在名为person.erl的文件里,看起来就像是这样:

1
2
3
4
-module(person).
-export([init/1])

init(Name) -> ...

查看更多

CentOS7 + Python3 + Django(rest_framework) + MariaDB + nginx + uwsgi 部署 API 开发环境

这是一个 Django 环境部署教程,也是一个我坑爹的 Django 环境部署记录:

开始撸代码之前有两点需要提醒:

  1. 本教程完美适配如题开发环境但不局限于此环境,其他开发环境仅需将命令操作转换为当前环境下的命令即可;
  2. 我写作的顺序是我个人体验比较好的操作顺序仅供参考;
查看更多

「转载」一劳永逸的搞定 flex 布局

作者:osimly
链接:https://juejin.im/post/58e3a5a0a0bb9f0069fc16bb
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

寻根溯源话布局

一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联想到 Word 文档排版中用到的的左对齐、右对齐和居中对齐,然而很快就失望的发现 CSS 中并不存在 float: center 的写法,那么 text-align: centerverticle-align: center 是否可行呢?答案也是否定的。这两个属性只能用于行内元素,对于块级元素的布局是无效的。
在网页布局没有进入 CSS 的时代,排版几乎是通过 table 元素实现的,在 table 的单元格里可以方便的使用 alignvalign 来实现水平和垂直方向的对齐,随着 Web 语义化的流行,这些写法逐渐淡出了视野,CSS 标准为我们提供了 3 种布局方式:标准文档流、浮动布局和定位布局。这几种方式的搭配使用可以轻松搞定 PC 端页面的常见需求,比如实现水平居中可以使用 margin: 0 auto,实现水平垂直同时居中可以如下设置:

1
2
3
.dad {
position: relative;
}

查看更多

VMware 安装 CentOS 后网络设置

这是一个适用性比较小解决方法,若此方法不能解决你遇到的问题请自行百度其他方法。

打开虚机看看虚机的网络设置了。命令如下

1
vi /etc/sysconfig/network-scripts/ifcfg-eth0

其中部分内容如下:

1
2
3
4
DEVICE=eth0  #设备名称,可根据ifcofnig命令查看到。
BOOTPROTO=dhcp #连接方式,dhcp会自动分配地址,此时不需要在下面设置ip和网关
HWADDR=00:0C:29:AD:66:9F #硬件地址,可根据ifcofnig命令查看到。
ONBOOT=yes #yes表示启动就执行该配置,需要改为yes

查看更多

「转载」PHP 判断文件存在是用 file_exists 还是 is_file

原文链接

结论:
如果要判断文件是否存在,用函数 is_file()
如果要判断目录是否存在,用函数 is_dir()
好像没地方需要用 file_exists 了,不确定传入的参数是文件还是目录的时候用?

以下为原文作者的证明过程:

在写程序时发现在判断文件是否存在时,有两种写法,有的人用了 is_file,有的人用了 file_exists,用哪个更好或者说更合适呢?

判断文件存在用 is_file 还是 file_exists

查看更多

「转载」PHP 静态方法和非静态方法简单对比

静态方法优点

效率比实例化高
静态方法和静态变量创建后始终使用同一块内存

静态方法缺点

不自动进行销毁

实例化优点

可以做销毁

实例化缺点

会创建多个内存

如何选择?

很好理解,能够拿起来就用的,就用静态实现,比如工具类。
你想用锤子,不可能先拿个锤子的模具制造出锤子之后再用吧,就是这么个意思。

查看更多