资源描述
Djongo
Model
Publisher.objects.all() 选择 Select *
filter(数据字段名=XX) 根据关键字参数来转换成 WHERE返回列表QuerySet (数据字段名__contains="press") 注释:双下划线. 表示Like.模糊查找
get() 返回 单个对象
按字母顺序。 那么,使用order_by() 逆向排序,在前面加一个减号 - 前缀:Meta缩进4个空格内嵌于 class类的定义中
在admin 管理界面中控制
这些叫list 点进入面那些叫fields
class BookAdmin(admin.ModelAdmin):
list_display = ('title','publisher','publication_date')
list_filter = ('publication_date',)
date_hierarchy = 'publication_date'
ordering = ('-publication_date',)
正则
ipconfig 命令 获得 本地IP地址
django-admin.py startproject mysite 创建目录
python manage.py runserver 0.0.0.0:8000 启动本地服务器
一定要用 {% endif %} 关闭每一个 {% if %} 标签。
Python 要求单元素元组中必须使用逗号,以此消除与圆括号表达式之间的歧义。 这是新手常犯的错误。
Template For
{% for athlete in athlete_list %}
<p>{{ athlete.name }}</p>
{% empty %}
<p>There are no athletes. Only computer programmers.</p>
{% endfor %}
{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}
{% for object in objects %}
{% if forloop.first %}<li class="first">{% else %}<li>{% endif %}
{{ object }}
</li>
{% endfor %}
{% for link in links %}
{{ link }}
{% if not forloop.last %}
|
{% endif %}
{% endfor %}
输出 Link1 | Link2 | Link3 | Link4
{% ifequal user currentuser %}
<h1>Welcome!</h1>
{% endifequal %} 如果user = currentusr 显示 welcome!
Template 注释
{# This is a comment #}
{% comment %}This is a
multi-line comment.
{% endcomment %}
Requests
you should use r.content to find the encoding, and then set r.encoding
原始文件 r.raw.read(10)
you should use a pattern like this to save what is being streamed to a file:
with open(filename, 'wb') as fd:
for chunk in r.iter_content(chunk_size):
fd.write(chunk)
.
Sublime
鼠标选中多行,按下 Ctrl+Shift+L (Command+Shift+L) 即可同时编辑这些行;
鼠标选中文本,反复按 CTRL+D (Command+D) 即可继续向下同时选中下一个相同的文本进行同时编辑;
鼠标选中文本,按下 Alt+F3 (Win) 或 Ctrl+Command+G(Mac) 即可一次性选择全部的相同文本进行同时编辑;
Shift+鼠标右键 (Win) 或 Option+鼠标左键 (Mac) 或使用鼠标中键可以用鼠标进行竖向多行选择;
Ctrl+鼠标左键(Win) 或 Command+鼠标左键(Mac) 可以手动选择同时要编辑的多处文本
Ctrl+R,即可列出该文件里的全部function
Ctrl+; 搜索
Alt 点击 跳转 (需等待)
这些切换定位方法你还可以配合在一起使用!譬如我有一个名为”hello-iplaysoft.js”的文件,里面其中有一个function叫做”visit_iplaysoft_com”,我现在想要编辑这个函数,那么我只需按下 Ctrl+P,然后输入“heip@vi”回车(模糊匹配)
Python
启动
If there are both "#!" lines in the file and a version number switch in the commandline used to start it, the commandline's version overrides that in the file's directive:
the launcher defaults to 2.X for a generic "python"
#! python3
import sys
print(sys.version.split()[0])
C:\temp> what.py # run per file directive
3.3.0
C\temp> py script.py # runs under 3.2, per file directive
C\temp> py -3.1 script.py # runs under 3.1, even if 3.2 present
Unrecognized Unix "!#" lines now make scripts fail on Windows
The launcher defaults to using 2.X unless told otherwise
The new PATH extension is off by default and seems contradictory
在python2.X用3.X
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import absolute_import
from __future__ import unicode_literals
from __future__ import division
(e.g., 1/2 == 0.5; 1//2 == 0
PhotoShop
拉长
抠图
调整半径
去除多余路人
套索à右键à填充à污点修复工具à内容填充
写给大家看的设计书
颜色运用
三原色: 黄、红、蓝(色轮的基础)
三间色:绿、橙、紫
第三色:橙黄、橙红、紫红、蓝紫、蓝绿、黄绿。
颜色关系:
互补:蓝——橙, 红——绿, 黄——紫
蓝紫——橙黄,橙红——蓝绿,黄绿——紫红(紫罗兰色)
三色组:红黄蓝是极其流行的颜色组合,儿童产品都采用这种颜色组合。三色组很协调。红-黄-蓝,橙红—黄绿—蓝紫,橙-绿-紫,橙黄—蓝绿—紫红
分裂互补三色组:一色与互补色两侧的颜色,黄—紫红—蓝紫,绿—橙红—紫红
类似色:三种相邻的颜色,协调的组合。蓝绿—绿—黄绿,橙黄—橙—橙红
颜色往往要么是暖色(这说明,其中包含红色或黄色),要么是冷色(说明其中包含蓝色)。 冷色总趋于后退,而暖色是趋进型的。
如果设计要求使用有类似色质的色调,一定要尽力避免它们挨在一起,另外每种色调的用量也不要完全相同。
如何选择颜色?
项目有季节性吗? 也许可以使用类似色来暗示季节,火热的红色和黄色表示夏季;冰冷的蓝色表示冬季;不同色度的橙色和棕色代表秋天;明亮的绿色象征春天。
公司有没有制定一些官方颜色?
你的项目是否包含一个照片或其他图像? 可以选择照片中的一个颜色,再根据这个颜色选择一组其他的颜色。
名片:
确定格式水平还是垂直,注意字体大小,创建名片、信笺、信封共有的一致图像P106
不要在角落放东西,角落为空无妨,不要填满,要留空白
不要用12点字体,可用7点、8点、9点,不要使用Time 、Arial、 Helvetica
不要写email 、web site字眼。
要对齐!左对齐、右对齐、基线对齐
区号不加括号,可用点号、圆点、空白,具体街道、大街写完整。
如没有传真,则电话号码前不要加phone
传单:
不要把所有东西放在方框里,不要在所有元素间设同样大小的空间间隔,要增加对比度!当心换行。
创建一个中心点(在页面上放一个很大、有趣、明显的东西)
使用有对比的子标题(视觉上效果强烈,能充分表达含义)
可能只对一个字母或一个词使用标题那种有趣字体,也可把它作子标题、大写首字母或者项目符号的字体。
宣传册:
先把一张纸折成你需要的形状,不要简单把11英寸平均分为3段,因为一个面要短一点才能塞进另一个面;注意折痕,不要让文字太靠近折痕,内容可能会消失,但图片可以灵活些,比如让图片更大些,相互重叠,图片围绕文本,图片倾斜,或超出折痕!
读宣传册中各个面的顺序应该就是读者打开这个宣传册的顺序,也就是说,你希望读者按什么顺序读宣传册中的各个面?
报纸广告:
最佳办法是利用空白
字体选择。报纸用纸是一种渗水的粗糙纸张,然后在上面印上油墨,所以不要使用精巧的小scrif字体,也不要使用很细的线。
反色文字。要尽可能避免使用反色文字(深色背景上的白色文字),不过,如果必须如此,就要确保使用一种合适的字体,其中没有细线。
网站:
不要拉滚动条查看导航
不要让文本紧挨着浏览器窗口的左边界
不要让文本和图片链接使用默认色
正文不要粗体,也不要占全部宽度
字体:
大小:不要保守。要大且粗对比小且细
粗细:要粗细字体对比,而不是中粗字体的对比。
结构:是否有截角 截角是否水平 字体水平线是否倾斜 是否有粗细过渡
形状:全大写与小写的对比就是一种形状的对比,另外roman,italic或script的对比也是一种对比,italic和script字体形状类似,不要结合使用。
方向:不要倾斜,更多的认为方向对比是指水平文本与瘦高文本列的对比。
颜色:暖色(红、橙)是前进的,冷色(蓝、绿)是远离型的。可以用黑色文本尝试各种“颜色”。
对比重复对齐亲密
四大设计原则
对比:避免相似,让元素截然不同
重复:让元素重复出现
对齐:元素不能随意安放,要与另一个元素有某种视觉联系
亲密:彼此相关的元素要归组在一起
元素:字体、颜色、大小、线宽、形状、空间等
一、亲密性原则:
1)诀窍:物理位置的接近就意味着关联;进一步,了解各元素之间的关系,充分利用
2)手段:调整文本的大小or字体的粗细or图片的大小or图片的摆放位置
3)误区:亲密性≠一切都要靠近,亲密性=有关联的元素靠近
4)小结:要有意识的引导阅读者的视线
①根本目的:实现组织性,更易于被阅读、被记住
②如何实现:统计眼睛停顿次数来数一数页面上有多少个元素,如果页面上的项超过3~5个,就可以看看哪些可以归拢在一起
③要避免的问题:
不要仅仅因为有空白就把元素放在角落或中央。
避免一个页面上有太多孤立的元素。
用留白来对元素进行分组。不要在元素之间留出同样大小的空白,除非各组同属于一个子集。
标题、子标题、图表标题、图片能否归入其相关材料?在这个问题上一定要非常清楚(哪怕只有一点含糊都要尽量避免)。在有很近亲密性的元素之间建立关系。
不同属一组的元素之间不要建立关系!如果元素彼此无关,要把它们分开。
二、对齐性原则:
1)诀窍:物理位置的接近就意味着关联;进一步,了解各元素之间的关系,充分利用;
2)手段:文本左对齐或右对齐;将文本居中,但文本块不居中;按基线对齐
3)误区:不要中对齐,太乏味(庄重、正式如婚礼除外 在打破规则前必须清楚规则是什么)
4)小结:任何元素都不能在页面上随意摆放
①根本目的:使页面统一而有条理
②如何实现:要特别注意元素放在哪里,在页面上找出与之相对齐的元素
③要避免的问题:
第一段不缩进,下面的段落要缩进
避免在页面上混合使用多种对齐方式
避免居中对齐
三、重复性原则:
1)诀窍:有一些一致性的元素,可以当重复性的元素。比如“粗字体,细字体,方块项目符号,缩进,间隔,对齐”
2)手段:如果那个元素很有意思,就可以用来做重复元素。如果很简单,就可以指定不同的大小、颜色或角度(下面例子里的茶壶);也可以添加与页面主题没有任何关系的重复元素(调查表单上放入一些石刻字符、报告中增加一些奇模怪样的鸟)
3)小结:对多页文档设计很重要
①根本目的:统一,增强视觉效果(粗体重复将视觉来回停留)
②如何实现:利用页面上现有的一致性元素,做重复设计;如果没有一致性元素,可以创建新的重复元素。
③要避免的问题:
避免太多的重复一个元素
四、对比性原则
对比就必须强烈,千万不要畏畏缩缩
①根本目的:增强页面的效果;有助于信息的组织
②如何实现:可以通过字体的选择等一系列方式
大字体与小字体的对比——————这是最容易的
典雅的oldstyle字体与粗体sans serif字体产生对比;
细线与粗线的对比;
冷色与暖色的对比;
平滑材质与粗糙材质的对比;
水平元素(如很长的一行文本)与垂直元素(如又高又窄的一列文本)的对比;
间隔很宽的文本行与紧凑在一起的文本行形成对比;
小图片与大图片的对比。
③要避免的问题:
如果每一样元素都重要 就代表每一样元素都不重要 找出需要突出的元素并强调它
千万不要犹豫,如果两个项不完全相同,就应当使之不同,而且应当是截然不同。
五、总结——千万不要畏畏缩缩
这四个原则凝结成一个最基本的原则:千万不要畏畏缩缩。
①不要害怕在设计中留有空白;
②不要害怕设计是不对称的;
③不要害怕把单词设置得非常大或非常小;
④不要害怕让图片太大或太小。
容器
Map的工作原理
pairs[index++]=new Object[]{key,value};
LinkIterator向前迭代
alindex=0;
for (ListIterator<String> iterator = ll.listIterator(ll.size()); iterator.hasPrevious();) {
String string = (String) iterator.previous();
al.add(alindex, string);
alindex+=2;
填充
List<StringAddress> list=new ArrayList<StringAddress>(Collections.nCopies(10, new StringAddress("要传入String")));
print(list);
Collections.fill(list, new StringAddress("这个类有toString方法是用来打印的"));
print(list);
Set<String> set = new LinkedHashSet<>();
set.addAll(CollectionData.list(new Government(), 13));
new ArrayList<Integer>(CollectionData.list(new RandomGenerator.Integer(), 10)));
使用generate,这里的Government是继承了generate的,即是有next()方法
享元
枚举
自定义方法
//一定要在方法前定义实例
WEST("this is west"),
NORTH("this is north"),
EAST("this is east"),
SOUTH("this is south");
private String description;
private OzWitch(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
导入
enum Shrubbery{GROUND,CRAWLING,HANGING}
或者
package net.sen;
public enum Spiciness {
NOT,MILD,MEDIUM,HOT,FLAMING
}
在另一个包
import static net.sen.Spiciness.*;
编程之美
基本类型
把三个参数封装成一个类就行了, 类当参数,是会改变值。。别传基本类型
package net.sen;
class Length{
double a,b,c;
}
class Point{
double x,y;
public Point(double x, double y) {
if(x>0&y>0){
this.x = x;
this.y = y;}
}
}
public class TrianglePoint {
static double area(Point A,Point B,Point C){
Length length=new Length();
computer(A,B,C,length);
double p=(length.a+length.b+length.c)/2;
double a=Math.sqrt(Math.abs((p-length.a))*Math.abs((p-length.b))*Math.abs((p-length.c))*p);
return a;
}
private static void computer(Point a, Point b, Point c, Length length) {
// TODO Auto-generated method stub
length.a=Math.sqrt(Math.pow((a.x-b.x),2)+Math.pow((a.y-b.y),2));
length.b=Math.sqrt(Math.pow((b.x-c.x),2)+Math.pow((b.y-c.y),2));
length.c=Math.sqrt(Math.pow((c.x-a.x),2)+Math.pow((c.y-a.y),2));
}
private static boolean isInTriangle(Point A, Point B, Point C, Point D) {
if(area(A,B,D)+area(B,C,D)+area(C,A,D)>area(A,B,C)){
return false;
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Point A=new Point(5,8);
Point B=new Point(2,2);
Point C=new Point(13,3);
Point D=new Point(6,5);
System.out.println(isInTriangle(A,B,C,D));
}
}
Eclipse技巧
Shift+Alt+N new命令 打开一个class
Ctrl + F11 run命令
查看源码
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"
2.此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)
3.选中rt.jar文件的这一项:“c:/program files/java/jre_1.5.0_06/lib/rt.jar”
点 左边的“+” 号展开它,
4.展开后,可以看到“Source Attachment:(none)”,点这一项,点右边的按钮“Source Attachment...”, 选择你的JDK目录下的 “src.zip”文件
多维数组
把一段代码提取方法
快捷键
In any text editor you can complete a prefix to a word occurring in all currently open editors or buffers. The default key binding for word completion is Alt+/.
If you find yourself repeatedly doing some command, you might be able to streamline things by assigning a key sequence to trigger that command. Assigning new key bindings, and viewing existing bindings, is done from the General > Keys preference page.
初始化视图
我喜欢的视图
文件对比
批量管理文件
查找文件
展开阅读全文