Django项目settings.py文件基础配置
Django设置文件包含了我们项目的所有Django安装配置,这个文件一般在项目的文件夹下,例如我们创建项目名为:myblog,那么这个配置文件settings.py就是myblog文件夹下 一、在项目的根文件夹下创建static和media两个目录。static用来存放模板CSS、JS、图片等静态资源,media用来存放上传的文件。 settings.py文件里找到SATTIC_URL,然后在后面加上如下代码: myblog/settings.py
#设置静态文件目录和名称
STA
git rm -r --cached解决已提交的文件在.gitignore中加入忽略后无效的问题。
有时候,发现有不该提交的文件已经提交后,仅仅在.gitignore中加入忽略是不行的。这个时候需要执行: git rm -r --cached 文件/文件夹名字 去掉已经托管的文件,然后重新提交: git add .
git commit -m '' 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用: git rm file_path
git commit -m 'delete somefile'
git push
优雅的对API进行内部升级改造
优雅的对API进行内部升级改造 背景 随着业务的快速发展老的系统将逐渐的无法快速支撑现有业务迭代重构一个必然的过程;然而在底层业务系统重构的过程中,对外提供的API也同时需要进行相应的升级替换;推动外部调用方替换新的API是十分艰难而漫长的过程,因此往往很多时候不得不需要在旧的API内部进行改造升级。旧API的内部改造。。。老代码接口无单测逻辑惨不忍睹!!! 如何能避免不改动老的代码优雅的完成接口的内部改造升级? 实现方案 利用自定义注解+aop不侵入旧代码进行切换 利用redis 对接口进行
玩转Openstack之Nova中的协同并发(二) · voidy
玩转Openstack之Nova中的协同并发(二) 昨天介绍了Python中的并发处理,主要介绍了Eventlet,今天就接着谈谈Openstack中Nova对其的应用。 ##eventlet 在nova/cmd/init.py中,就直接调用了eventlet的方法,代码如下: from nova import debugger
if debugger.enabled():
eventlet.monkey_patch(os=False, thread=False)
else:
CentOS 7 下Django项目部署教程(基于uwsgi和Nginx)
本文主要介绍如何在Linux平台上部署Django相关项目,关于Django项目的部署在互联网论坛上有很多的资料,笔者在查阅众多资料并经过实践后发现结果并不如意(或多或少总是遇到一些问题,往往与资料的预期不相符)。在浏览了许多资料后笔者整理得出了部署Django项目的一般性方法,部署的方法有很多种,在此笔者选择了较为常用的基于uwsgi和Nginx的部署方案。 一、前提准备 部署前主要是需要做一些与服务器相关的准备工作,本次教程的服务器采用了阿里云的 CentOS 7.3 64位,当然作为资料
2019全年大厂Java高频面试题分享,来自BAT的灵魂拷问
2019全年大厂Java高频面试题分享,来自BAT的灵魂拷问前言:因为疫情我被困在了家里,我是一个被无聊笼罩的人,呆在家里为国家做贡献,打算年后面试找工作的我决定发奋刷面试题,不打无准备的仗,这么多面试题的收集整理花费了很多的时间和经历,程序员朋友们如果你也在家不能出门的话,如果你要跳槽面试的话就跟我一起把面试题刷起来吧朋友。包含内容:MyBatis 面试题(27题)ZooKeeper 面试题(2
jupyter server
[TOC] 首先确认是否安装有python2和3 使用 $ which python2 , $ which python3 查看,一般会返回 /usr/bin/python2 , /usr/bin/python3 ,如果没有,那么就用 $ sudo apt-get install python2 来安装 安装pip,ipython,jupyter sudo apt-get install python-pip安装python2版本的pip sudo -H pip install --upgra
数据结构之基于堆的优先队列
优先队列的最重要的操作:删除最大元素(或最小)和插入元素。数据结构二叉堆能够很好的实现队列的基本操作。 二叉堆的结点按照层级顺序放入数组,用长度为N+1的私有数组pq来表示一个大小为N的堆(堆元素放在pq[1]至pq[N]之间,为方便计数,未使用pq[0]),跟节点在位置1,它的子结点在位置2和3,以此类推。位置k的节点的父节点位置为k/2,它的两个子节点位置分别为2k和2k+1。 当一颗二叉树的每个节点都大于等于它的两个子节点时,称为大根堆。 当一颗二叉树的每个节点都小于等于它的两个子节点时
最短路径算法总结(floyd,dijkstra,bellman-ford)
继续复习数据结构和算法,总结一下求解最短路径的一些算法。 弗洛伊德(floyd)算法 弗洛伊德算法是最容易理解的最短路径算法,可以求图中任意两点间的最短距离,但时间复杂度高达\(O(n^3)\),主要思想就是如果想缩短从一个点到另一个点的距离,就必须借助一个中间点进行中转,比如A点到B点借助C点中转的话AB的距离就可以更新为\(D(a,b)=Min(D(a,b),D(a,c)+D(c,b))\),这样我们用每一个结点作为中转结点,尝试对另每两个结点进行距离更新,总共需要三层循环进行遍历。 核心
iOS 线程同步 NSLock、NSRecursiveLock、NSCondition
#import "ViewController.h"
#import <pthread.h>
@interface ViewController ()
@property (nonatomic, strong) NSCondition *lock;
@property (nonatomic, strong) NSMutableArray *data;
@end
@implementation ViewController
- (void)viewDidLoad {
[super vi
让我们来写个算法吧,(1)翻转单链表
作为面试中最最最常考的链表题之一,翻转单链表。有以下两种解法: 例: 输入 1->2->3->4 输出 4->3->2->1 Node类定义如下 class Node {
int value;
Node next;
public Node(int value, Node next) {
this.value = value;
this.next = next;
} 1.遍历法 此方法根据链表遍历,通过拆分,刷新节点来
vue 项目打包 本地预览
dist 目录需要启动一个 HTTP 服务器来访问 (除非你已经将 publicPath 配置为了一个相对的值),所以以 file:// 协议直接打开 dist/index.html 是不会工作的。在本地预览生产环境构建最简单的方式就是使用一个 Node.js 静态文件服务器,例如 serve: npm install -g serve
# -s 参数的意思是将其架设在 Single-Page Application 模式下
# 这个模式会处理即将提到的路由问题
serve -s dist
javascript模块化教程学习笔记07
显然:在函数外部无法访问内部的局部变量: function f1(){
var n = 9999 ;
}
alert(n) ; //error 当需要这样做时,可以使用闭包。 闭包: 闭包函数就是一个嵌套结构的函数,在一个函数内定义一个函数。 由于在javascript语言中,子对象可以向上一级一级的寻找所有父元素的变量,父元素的所有变量对子元素都是可见的,反之,不成立。 所以内嵌函数可以访问定义在外层函数中的所有变量和函数。但是从函数外部不能访问函数的内部
今日推荐
周排行